很多人看代码的时候,可能比较疑惑,为什么要加读写锁。 raft处理写请求的流水线的消费者都是单线程的,完全没有并发...[作者空间]
jraft为了高性能,全流程都使用了Disruptor来做异步批量的处理 1 异步 从入口的NodeImpl类的a...[作者空间]
一致性读就是java的vaoilet的意思,就是写入之后再去读,一定能读到刚刚写入的值。 这就意味着读也只能去le...[作者空间]
随着时间越长,raft的log就越多,占用磁盘多,对后面加入的follower跟上leader也是个灾难。所以就有...[作者空间]
raft收到请求,首先做的事情其实就写log了。jraft中是通过LogManagerImpl来实现的 日志入口L...[作者空间]
1 定时器,一直没收到leader的心跳,就尝试选举自己 2 预选 如果超过半数以上预选成功,才开始正式选举自己...[作者空间]
follower的主流程就比较简单了,一个是处理leader的写log的请求,另外就是处理leader的心跳了,应...[作者空间]
1 收到client请求 先是rpc的请求处理,最后会到NodeImpl的apply方法第一步自然是写log,到L...[作者空间]
1 raft要达成一致,是需要半数以上的节点同意的,但是这个逻辑在jraft中非常的隐蔽。 这个逻辑是在Ballo...[作者空间]