Richard Yu created KAFKA-8516:
---------------------------------

             Summary: Consider allowing all replicas to have read/write 
permissions
                 Key: KAFKA-8516
                 URL: https://issues.apache.org/jira/browse/KAFKA-8516
             Project: Kafka
          Issue Type: Improvement
            Reporter: Richard Yu


Currently, in Kafka internals, a leader is responsible for all the read and 
write operations requested by the user. This naturally incurs a bottleneck 
since one replica, as the leader, would experience a significantly heavier 
workload than other replicas and also means that all client commands must pass 
through a chokepoint. If a leader fails, all processing effectively comes to a 
halt until another leader election. In order to help solve this problem, we 
could think about redesigning Kafka core so that any replica is able to do read 
and write operations as well. That is, the system be changed so that _all_ 
replicas have read/write permissions.
 
This has multiple positives. Notably the following:
- Workload can be more evenly distributed since leader replicas are weighted 
more than follower replicas (in this new design, all partitions are equal)
- Some failures would not be as catastrophic as in the leader-follower 
paradigm. There is no one single "leader". If one replica goes down, others are 
still able to read/write as needed. Processing could continue without 
interruption.
 
The implementation for such a change like this will be very extensive and 
discussion would be needed to decide if such an improvement as described above 
would warrant such a drastic redesign of Kafka internals.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to