93、简述kafka架构设计

kafka架构设计

  • Consumer Group:消费者组,消费者组内每个消费者负责消费不同分区的数据,提高消费能力。逻辑上的一个订阅者。
  • Topic: 可以理解为一个队列,Topic 将消息分类,生产者和消费者面向的是同一个 Topic。
  • Partition: 为了实现扩展性,提高并发能力,一个Topic 以多个Partition的方式分布到多个 Broker 上,每个Partition 是一个有序的队列。一个Topic 的每个Partition都有若干个副本 (Replica),一个Leader和若干个Follower。生产者发送数据的对象,以及消费者消费数据的对象,都是 Leader。Follower负责实时从 Leader 中同步数据,保持和 Leader 数据的同步。Leader 发生故障时,某个 Follower 还会成为新的 Leader.
  • offset: 消费者消费的位置信息,监控数据消费到什么位置,当消费者挂掉再重新恢复的时候,可以从消费位置继续消费。
  • Zookeeper: Kafka 集群能够正常工作,需要依赖于 Zookeeper,Zokeeper 帮助 Kafka 存储和管理集群信息。
相关推荐
程序员阿鹏2 小时前
怎么理解削峰填谷?
java·开发语言·数据结构·spring·zookeeper·rabbitmq·rab
程序员阿鹏4 小时前
分布式事务管理
java·开发语言·分布式
武子康5 小时前
Java-213 RocketMQ(MetaQ)演进与核心架构:NameServer/Broker/Producer/Consumer 工作机制
大数据·分布式·架构·消息队列·系统架构·rocketmq·java-rocketmq
2301_767902646 小时前
Ceph 分布式存储从入门到实战
分布式·ceph
FinTech老王6 小时前
制造业Oracle迁移替换:集中式vs分布式架构如何选择?
分布式·oracle·架构
风跟我说过她6 小时前
HBase完全分布式部署详细教程(含HA高可用版+普通非HA版)
大数据·数据库·分布式·centos·hbase
十五年专注C++开发7 小时前
Jieba库: 一个中文分词领域的经典库
c++·分布式·自然语言处理·中文分词
Vic101018 小时前
【无标题】
java·数据库·分布式
武子康8 小时前
Java-216 RocketMQ 4.5.1 在 JDK9+ 从0到1全流程启动踩坑全解:脚本兼容修复(GC 参数/CLASSPATH/ext.dirs)
java·大数据·分布式·消息队列·系统架构·rocketmq·java-rocketmq
回家路上绕了弯8 小时前
分布式事务本地消息表详解:中小团队的低侵入落地方案
分布式·后端