一个Topic的多个分区,被分布在kafka集群中的多个server上。每一个分区都有一个server为"leader";leader负责全部的读写操作,假设leader失效,那么将会有其它follower来接管(成为新的leader);follower仅仅是单调的和leader 跟进,同步消息就可以。由此可见作为leader的server承载了所有的请求压力,因此从集群的总体考虑,有多少个partitions就意味着有多 少个"leader",kafka会将"leader"均衡的分散在每一个实例上,来确保总体的性能稳定。

详细流程:
1. Producer依据指定的partition方法,将消息公布到指定topic的partition里面
2. kafka集群接收到Producer发过来的消息后,将其持久化到硬盘

3.Consumer从kafka集群pull数据,并控制获取消息的offset

kafka分区原理图

相关文章:

  • 2022-01-03
  • 2021-11-19
  • 2022-01-07
  • 2021-06-25
  • 2021-12-11
  • 2021-04-10
  • 2021-11-23
  • 2021-12-11
猜你喜欢
  • 2022-12-23
  • 2021-09-27
  • 2020-04-22
  • 2021-10-04
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案