Kafka 将Partition分布在Cluster的多个Server,这个数字也是可以配置的
其中一个Leader负责接收所有读写请求,其它的Followers进行replicate,如果Leader down了,那么其它Follower会变成Leader,这个功能应该就是Kafka借助了Zookeeper来实现的
另外要注意的是,每个Server都是其中一些Partition的Leader,而是其它另外一些Partition的Follower,因此,workload才能balance
后面详细细节可以分析源代码