美文网首页jraft
jraft源码阅读8一异步高性能

jraft源码阅读8一异步高性能

作者: 黄云斌huangyunbin | 来源:发表于2019-04-13 15:22 被阅读0次

jraft为了高性能,全流程都使用了Disruptor来做异步批量的处理

1 异步

从入口的NodeImpl类的apply方法就可以看到使用了异步了:


image.png

后面的所有的流程都是类似的情况了


image.png

写日志是异步的


image.png

发送日志给follower也是异步的


image.png

半数以上follower同意后应用到状态机也是异步的


image.png
2 批量

Disruptor的onEvent处理的参数有个endOfBatch,这个其实也很重要,这个给了我们批量处理的能力,可以连续处理一批。


image.png

批量消费减少了事件的触发,减少了流程的切换,提高了性能。

其他异步的地方基本都用到了批量,这里就不赘述了。

相关文章

网友评论

    本文标题:jraft源码阅读8一异步高性能

    本文链接:https://www.haomeiwen.com/subject/drolwqtx.html