Tencent / phxpaxos

The Paxos library implemented in C++ that has been used in the WeChat production environment.
Other
3.36k stars 863 forks source link

关于Follower的使用方法问题 #156

Open ZarrianShi opened 5 years ago

ZarrianShi commented 5 years ago

wiki中对follower的使用描述较为稀少,仅有下面一句:

FollowerNodeInfoList vecFollowerNodeInfoList:PhxPaxos支持跟随者模式,这个列表可以进行X1 follow X2的设置。跟随者节点不参与Paxos投票,仅学习所有的Chosen value。

我在使用过程中出现了2个问题,希望能得到解答:

谢谢!

unixliang commented 5 years ago

目前follower并不支持跟随整个集群,只能跟随其中某个节点。若目标跟随节点挂了,follower并不会自动切换目标。这点确实支持得不够好,@xocodergit有兴趣可以提pull request改进:)

lynncui00 commented 5 years ago
  1. x1 follow x2, x2每次learn value后都会实时转发到x1
  2. 当x2挂了后,x1一样会通过ask for learn协议,去找参与投票的节点学习最新数据,但是可能不够实时(目前是5秒一次轮询)。
  3. 指定follow一个group暂时还不支持。这个场景可能比较少。
ZarrianShi commented 5 years ago

目前follower并不支持跟随整个集群,只能跟随其中某个节点。若目标跟随节点挂了,follower并不会自动切换目标。这点确实支持得不够好,@xocodergit有兴趣可以提pull request改进:)

感谢回答,如果有时间可能会考虑提一个pr

ZarrianShi commented 5 years ago
  1. x1 follow x2, x2每次learn value后都会实时转发到x1
  2. 当x2挂了后,x1一样会通过ask for learn协议,去找参与投票的节点学习最新数据,但是可能不够实时(目前是5秒一次轮询)。
  3. 指定follow一个group暂时还不支持。这个场景可能比较少。

感谢回答