3

In raft, all operation requests will be forwarded to the leader node, and then the leader will send logs to all followers. So under a heavy loaded environment, the leader node will be a bottleneck. How to solve this?

Cœur
  • 37,241
  • 25
  • 195
  • 267
huron
  • 762
  • 1
  • 5
  • 22

1 Answers1

2

This can be solved in different ways depending on your desires. Here are some example solutions.

Partition the data. Many large-scale systems partition the data to spread the load (as well as reduce hurt if a partition goes down). But transactions cannot cross partitions. That could be a bummer, depending on your application.

Chain Consensus. This protocol spreads the work of moving data to all the nodes in the cluster. There is still a leader that is a bottleneck for accepting data, but its burden is smaller. Chain consensus also leads to slightly higher latencies than a broadcast system.

Michael Deardeuff
  • 10,386
  • 5
  • 51
  • 74