RAFT系统设计(LOG传递)

在进行发送到其他节点的过程中,RAFT协议中CURINDEX就转换为FILEID + PAGEID, 从一个变量变成两个变量;同理 LAST INDEX 也是一样的。比较关系要发生变化,从单值比较变化为多值比较,比较的规则也有变化。

其他NODE的进行同步的过程,需要特定的NODEID +FILEID+PAGEID, 也是通过 LOGSVR SERVICE 发消息给 KV TASK, 然后获得FIFO对应的BUFFER数据。此时RAFT TASK需要记录需要节点的路径信息,也是对应关系,有两种处理方式,一种是随要求对应的消息发给KV TASK, KV TASK返回数据是一同带着返回,这种方式RAFT TASK不需要进行保存对应关系,对应关系在通讯中保存;另一种方式是RAFT TASK中进行保存,等KV TASK回数据过来在进行比对,恢复对应关系。通讯中不含有对应关系。有一个问题是多个NODE请求同一个FILEID+ PAGEID的情况,是否需要进行合并,合并比较复杂,NODE个数有限,个位数下,查找没有性能问题。

LOGSVR 发数据个KV TASK过程:

RAFTSVR获得数据后,需要通过LOGSVR写入到 KV TASK中,流程简单,需要定位到对应的SOCKET上,获得FD+SHAREMEM, 然后进行FIFO进行传递的过程了,这个可以要设计RAFTSVR到LOGSVR线程间的缓存,防止大数据量的冲击。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值