摘要: # 概念分布式一致性算法基本被Paxos占领了,大部分的实现都是基于Mutil Paxos的变种另外一类分布式系统使用的复制的方法(EC其实也是复制的一个变种),比如glusterfsglusterfs 通过一个afr translator将数据写往多个节点,只要有一个成功就可以返回成功响应了。这种 阅读全文
posted @ 2020-06-17 21:32 一介莽夫 阅读(245) 评论(0) 推荐(0) 编辑
摘要: # 块存储文件存储对象存储### 简介主要是从访问方式的不同来区分的,之所以会有不同的访问方式是因为用户需求不同.对于块存储来说,数据是以块的形式来管理的,每个块都有自己的地址空间.传统的块存储如SAN(storage area network),它提供一个网络块存储服务,客户端可以通过iSCSI等 阅读全文
posted @ 2020-05-28 21:01 一介莽夫 阅读(358) 评论(0) 推荐(1) 编辑
摘要: 记得早前第一份工作的时候,很得意自己能写非常庞大的存储过程,聊起天来就是怎样引用索引、怎么写sql快;想想那时候多好,容易满足,容易开心,开怀大笑! 还是在前年的时候,忙完一个大项目之后!刚好有点时间研究fastdb,因为早期没用商用数据库之前就是用的这个。后来发现并发能力的问题,才切换到商用数据库 阅读全文
posted @ 2016-05-26 20:51 一介莽夫 阅读(511) 评论(1) 推荐(1) 编辑
摘要: 之前通信协议替换为protocbuf!新老交替,很多不同看法,也提出来一些负面因数: 1、老的内部通信协议体已经有一段时间了,稳定熟悉! 2、通过通信结构体进行交互,实际上并没有序列化和反序列化的过程!性能几乎零损耗 3、通信异常直接可以通过日志打印出来,定位问题时候可以直接查看关键信息 4、由于老 阅读全文
posted @ 2016-05-17 17:38 一介莽夫 阅读(672) 评论(0) 推荐(0) 编辑
摘要: 如下一段代码: a、(FIRST << 16),这里不会溢出吗? b、(FIRST << 16) + SECOND 两个unsigned short相加,不需要考虑溢出吗? 我第一反应是第二个问题不存在,因为c++对+操作符有一个规则,如果操作数类型长度大于int,则提升为操作数的类型进行+操作。 阅读全文
posted @ 2016-05-13 14:25 一介莽夫 阅读(223) 评论(0) 推荐(0) 编辑
摘要: 类重载运算符,写了两个测试函数 第一种情况,operator+ 代码里面一个是类Matrix的成员函数operator+,另一个是外部函数operator+。两个函数的作用域不一样,成员函数的operator+属于类域,而后者属于全局域。 所以在编译器匹配函数调用时,先在类域找!类域找不到才会到全局 阅读全文
posted @ 2016-05-13 10:45 一介莽夫 阅读(485) 评论(0) 推荐(0) 编辑
摘要: 一个老系统的问题,用的system v消息队列同步等响应,通过alarm信号来进行超时控制。现在系统进行升级改造(所谓云化),原来进程处理的逻辑全部改成了线程框架,问题就出现了。alarm信号发出的时候,到底哪个线程会接收到这个信号呢? 于是赶忙问了下百度,有些地方说随机的,有些地方解答说随机的;另 阅读全文
posted @ 2016-05-09 18:51 一介莽夫 阅读(653) 评论(0) 推荐(0) 编辑
摘要: 在Linux服务器程序中,让系统能够提供以更少的资源提供更多的并发和响应效率决定了程序设计价值!怎样去实现这个目标,它其实是这么多年以来一直追逐的东西。最开始写代码时候,省去一个条件语句、用更好的算法使程序时间\空间复杂度降低;到后来为了让数据结构更简单方便的完成数据操作而无意中使用的数据库3范式。这一系列的小细节都有欣慰,今天我在这里的需求是:如何让一个单进程去并发完成多任务?单进程并发完成多任务?不能呀,我们并不能要求单进程同时完成不同的任务,因为单进程只能同时拥有一个core!我们把进程的任务分割成出来,让各个任务的子任务片逐个轮流在cpu里面执行,那么当子任务片足够细致的话,CPU每段 阅读全文
posted @ 2013-10-15 15:42 一介莽夫 阅读(786) 评论(0) 推荐(0) 编辑