做snapshot不要做的太频繁,否则消耗磁盘带宽,也不要做的太平凡,否则一点节点重启要回放大量日志,影响可用性。推荐当日组织达到某个固定的大小做一次snapshot。
做一次snapshot可能耗时过长,会影响正常日志同步。可以通过使用copy-on-write技术避免snapshot过程影响正常的日志同步过程。
一个关于 Raft 一致性算法的浓缩总结(不包括成员变换和日志压缩)。
参考:
(Raft动画)
https://github.com/maemual/raft-zh_cn/blob/master/raft-zh_cn.md(Raft论文翻译)