Tencent/phxpaxos

关于Follower的使用方法问题

Opened this issue · 4 comments

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

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

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

  • 如果希望学习一个3个节点构成的paxos集群,那么是否应该在vecFollowerNodeInfoList中指定集群的所有节点?
  • 一个Follower节点是否可以只学习目标集群/节点的指定group?如果可以应该怎么做?

谢谢!

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

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

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

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

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

感谢回答