jraft

jraft源码阅读3一follower的主流程

2019-04-10  本文已影响0人  黄云斌huangyunbin

follower的主流程就比较简单了,一个是处理leader的写log的请求,另外就是处理leader的心跳了,应用到状态机了。非常的简单。

1 接收leader的写log的请求

FollowerStableClosure的handleAppendEntriesRequest


image.png

可以看到这里只是写日志而已

2 应用到状态机

这里就是心跳的请求了。心跳的请求可以理解为特殊的写log的请求,只是data为空,其他的没区别。
还是FollowerStableClosure的handleAppendEntriesRequest


image.png image.png

所以follower的状态机可见,是要比leader晚一个心跳间隔时间的。这样虽然降低了一些实时性,但是可以减少很多请求,提高了吞吐率。不然每个都再通知一遍,是要多很多的请求的。

上一篇下一篇

猜你喜欢

热点阅读