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?
Asked
Active
Viewed 951 times
1 Answers
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
-
What is chain consensus? Do you mean this http://dsrg.pdos.csail.mit.edu/2013/08/08/chain-replication/ ? – huron Mar 19 '17 at 08:35
-
@huron That paper is where we started. – Michael Deardeuff Mar 20 '17 at 07:07