如何解决 raft 算法中 leader 节点的负载均衡问题?

raft 算法中是有 leader 的,而且所有操作请求都要转发到 leader 节点,再由 leader 节点发日志到各 follower 节点同步。那么 leader 就会成为一个性能瓶颈,因为所有操作都要发到 leader 上处理,那么如何解决这个性能瓶颈问题呢?

阅读 6.4k
2 个回答
新手上路,请多包涵

我也有这个疑问,是不是已经有答案了?分享下.....

新手上路,请多包涵

分布式存储系统中,强一致性总是和高性能相悖的。

  1. 高性能(high performance) -> 数据分发到多个服务器上
  2. 很多服务器 -> 容错能力
  3. 容错(fault tolerance) -> 复制
  4. 复制(replication) -> 一致性问题
  5. 更好的一致性(consistency) -> 性能下降

在zookeeper中,读请求可以发送给follower执行,所以zookeeper拥有了读高性能,但是zookeeper只保证了Linearizable writes和FIFO client order,即zookeeper不能保证跨client的强一致性,例如在zookeeper中client1读client2的写是有可能读到旧数据的。
分布式存储系统的一个核心问题就是权衡高性能和一致性问题。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进