9.4 观察者

2018-06-07 16:23:39.0

    由于群首将状态变化发送给追随者和观察者,这两种服务器称为学习者。观察者与追随者不同的是,它不会参与选举的过程,仅仅学习由INFORM消息提交的提议。

    引入观察者的主要原因是提高请请求的可扩展性。通过加入多个观察者,可以在不牺牲写操作吞吐率的前提下服务更多的读操作。写操作的吞吐率取决于仲裁数量的大小。如果加入更多的追随者,就会增加开销。

    采用观察者的另外一个原因是进行跨多个数据中心的部署。由于数据中心之间的网络链接延时,将服务器分散于多个数据中心将明显降低系统的速度。引入观察者后,更新请求能够先以高吞吐率和低延迟的方式在一个数据中心执行,接下来再传播到异地的其他数据中心得到执行。