小记--------kafka基础架构
kafka的消费者组,是为了提供消费速度,
1.为方便扩展,并提高吞吐量,一个topic分为多个partition
2.配合分区的设计,提出消费者组的概念,组内每个消费者并行消费
3.为提高可用性,为每个partition增加若干副本,类似NameNode HA
因为一个消费者组的一个消费者只能消费一次同一个topic的一个partition的数据。
也就是说,如果Topic A 有 100条数据有两个partition,而消费者组 只有一个消费A , 那么这一百条数据都必须挨个由A消费,
所以当topic有两个partition(分区)、并且消费者组有2个消费者的时候,就可以并行消费数据 消费者A 消费partition 0 的数据, 消费者B 消费partition1 的数据,从而提升效率。
但是如果topic只有两个partition, 但是消费者组有三个消费者, 也是没有用的,因为同一个消费者组的一个消费者只能消费一次topic的一个partition, 也就是总会有一个消费者是没有数据消费的,所以在创建消费者组 中消费者数量的时候需要考虑所要消费的Topic的分区数。
kafka副本数为2 , 不是说有2个Follower , 而是Leader + Follower 的个数一共为2
并且两个副本数 绝对不会存在同一个broker上, 因为副本的作用就是为了HA, 为了高可用,一台broker挂了, 会去另一台broker上找到副本数据。 所以如果leader和Follower存在一台Broker上就失去它本身的意义了 。
作者:于二黑
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架