|NO.Z.00029|——————————|BigDataEnd|——|Hadoop&kafka.V14|——|kafka.v14|订阅剖析|
一、[订阅剖析:订阅
### --- 主题和分区
~~~ # Topic,Kafka用于分类管理消息的逻辑单元,类似与MySQL的数据库。
~~~ Partition,是Kafka下数据存储的基本单元,这个是物理上的概念。
~~~ 同一个topic的数据,会被分散的存储到多个partition中,
~~~ 这些partition可以在同一台机器上,也可以是在多台机器上。
~~~ # 优势在于:
~~~ 有利于水平扩展,避免单台机器在磁盘空间和性能上的限制,
~~~ 同时可以通过复制来增加数据冗余性,提高容灾能力。
~~~ 为了做到均匀分布,通常partition的数量通常是Broker Server数量的整数倍。
~~~ # Consumer Group,
~~~ 同样是逻辑上的概念,是Kafka实现单播和广播两种消息模型的手段。
~~~ 保证一个消费组获取到特定主题的全部的消息。
~~~ 在消费组内部,若干个消费者消费主题分区的消息,
~~~ 消费组可以保证一个主题的每个分区只被消费组中的一个消费者消费。
~~~ # consumer 采用 pull 模式从 broker 中读取数据。
~~~ 采用 pull 模式,consumer 可自主控制消费消息的速率,
~~~ 可以自己控制消费方式(批量消费/逐条消费),还可以选择不同的提交方式从而实现不同的传输语义。
~~~ # consumer.subscribe("tp_demo_01,tp_demo_02")

Walter Savage Landor:strove with none,for none was worth my strife.Nature I loved and, next to Nature, Art:I warm'd both hands before the fire of life.It sinks, and I am ready to depart
——W.S.Landor
分类:
bdv013-kafka
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通