paxosKV:使用paxos算法实现的键值存储 源码
paxosKV 采用一致性哈希算法计算键所在的节点,每个节点都有一个唯一的ID用作标识,同时这个id也作为paxos的groupID,通过paxos在主备服务器之间进行同步数据。 KV存储的数据类型:int,字符串,列表,set,map。 客户端整合的是SDK,因此客户端与服务端要分开,但是Paxos相关的是整合在服务端的。 paxos组件应该是作为通信与同步相关的组件,而KV负责提供心跳检测,容错,分配令牌等操作。 为了减少程序占用,paxos组件与KV组件应该共享网络服务。 也就是说网络服务相关部分也需要独立成一个组件,并且可以嵌入到KV与paxos相关逻辑当中。 KV储存相关的所有数据备份之间组成一个paxos。 组件之间通过eventBus来通信,而不是直接调用函数方法。
用户评论