Kafka 将Partition分布在Cluster的多个Server,这个数字也是可以配置的


其中一个Leader负责接收所有读写请求,其它的Followers进行replicate,如果Leader down了,那么其它Follower会变成Leader,这个功能应该就是Kafka借助了Zookeeper来实现的


另外要注意的是,每个Server都是其中一些Partition的Leader,而是其它另外一些Partition的Follower,因此,workload才能balance


后面详细细节可以分析源代码

Logo

Kafka开源项目指南提供详尽教程,助开发者掌握其架构、配置和使用,实现高效数据流管理和实时处理。它高性能、可扩展,适合日志收集和实时数据处理,通过持久化保障数据安全,是企业大数据生态系统的核心。

更多推荐