sofastack / sofa-jraft

A production-grade java implementation of RAFT consensus algorithm.
https://www.sofastack.tech/projects/sofa-jraft/
Apache License 2.0
3.57k stars 1.14k forks source link

是否可以提供一个类似zk的snapCount的配置 #958

Closed funky-eyes closed 1 year ago

funky-eyes commented 1 year ago

Your question

目前使用下来貌似只看到了一个时长的配置项,在长时间,或者低流量的情况下,可能没有必要做snapshot,而高流量下为了保证宕机回复的时间,可能需要将时间设置的比较短,这样就不能比较好的预估一个能接受的流量范围去做snapshot的配置,个人认为最好可以跟zk一样将时间或次数任一达标后制作一次快照

Your scenes

Your advice

Environment

killme2008 commented 1 year ago

Iterator#commitAndSnapshotSync 就是用来做这个事情的,自行控制触发 snapshot 时机。

https://github.com/sofastack/sofa-jraft/blob/fdf737850097eb1bf20d34b8caaa0bb6f0c92ad7/jraft-core/src/main/java/com/alipay/sofa/jraft/Iterator.java#L79

funky-eyes commented 1 year ago

原来是要这样使用呀,我还以为jraft框架层面托管,我们只需配置呢 @killme2008

funky-eyes commented 1 year ago

谢谢