3 ms·
Raft is useful for handling redundancy (involving a limited number of nodes) but it has hard scalability limits. To achieve theoretically unlimited scalability,
by jondubois 10y ago
Raft is useful for handling redundancy (involving a limited number of nodes) but it has hard scalability limits. To achieve theoretically unlimited scalability, EVERY subsystem has to be embarrassingly parallel (which as far as I know Raft isn't) - If even one subsystem is not embarrassingly parallel, then the system as a whole will be limited in terms of scalability.
To build an embarrassingly parallel system; you can't avoid some sort of sharding.
I haven't looked too deeply into 'Quiescing Raft', but it still looks like scalability would be limited - It still looks like we have a scenario where each node might communicate with every other node (though in a more economical way).
To remove the limit completely, you'd have to settle with a solution that has fixed-size Raft groups which do not grow as you add more nodes to the cluster.