Content
10 Lessons • 0 Quizzes • 0 Challenges
基础
- 1
简介
- 2
分布式系统的特点
- 3
消息传递模式
- 4
提交日志
- 5
Kafka 的组件包括: 1. **Broker(代理)**:Kafka 集群中的每个服务器实例称为 Broker。它负责接收、存储和转发消息。 2. **Topic(主题)**:消息的逻辑分类。生产者将消息发送到特定的主题,消费者从主题中读取消息。 3. **Partition(分区)**:每个主题可以被划分为多个分区,用于实现并行处理和水平扩展。每个分区是有序的、不可变的消息序列。 4. **Replica(副本)**:为了保证数据的高可用性,每个分区会有多个副本,其中一个为主副本(Leader),其余为从副本(Follower)。主副本负责处理所有读写请求,从副本通过同步机制保持与主副本一致。 5. **Leader and Follower(领导者与跟随者)**:在每个分区中,一个副本作为 Leader 处理所有读写操作,其他副本作为 Follower 从 Leader 同步数据。 6. **Producer(生产者)**:负责向 Kafka 主题发送消息的应用程序或服务。 7. **Consumer(消费者)**:从 Kafka 主题读取消息的应用程序或服务。 8. **Consumer Group(消费者组)**:一组消费者的集合,共同消费一个或多个主题的消息。同一个消费者组内的消费者不会重复消费同一消息。 9. **ZooKeeper(分布式协调服务)**:早期版本的 Kafka 使用 ZooKeeper 来管理集群元数据、Broker 注册、配置信息和选举 Leader。但在较新版本中,Kafka 已经逐步移除了对 ZooKeeper 的依赖,使用内置的控制器机制来管理集群状态。 10. **Controller(控制器)**:Kafka 集群中的一个特殊 Broker,负责管理分区的 Leader 选举、副本状态变更等元数据操作。在没有 ZooKeeper 的情况下,控制器负责维护集群的整体状态。 11. **Log (日志)**:每个分区内部的数据存储结构,以日志文件的形式保存消息。日志文件按大小或时间滚动,支持高效的数据追加和读取。 12. **Offset(偏移量)**:每条消息在分区中的唯一标识位置。消费者通过记录偏移量来跟踪已消费的消息位置。 13. **Retention Policy(保留策略)**:定义消息在 Kafka 中保留的时间或大小限制。例如,可以设置消息保留 7 天或最大占用 1GB 磁盘空间。 14. **Schema Registry(模式注册中心)**:可选组件,用于管理和验证消息的结构(如 Avro、Protobuf 等格式),确保生产者和消费者之间数据格式的一致性。 这些组件共同构成了 Kafka 的核心架构,使其能够实现高吞吐量、低延迟、持久化和可扩展的消息传递系统。
- 6
分区
- 7
分区再平衡
Kafka 生产者
- 1
生产者
- 2
发送消息
- 3
生产者配置
- 4
生产者序列化
Kafka 消费者
- 1
消费者与消费者组
- 2
Kafka 消费者
- 3
消费者配置
- 4
提交和偏移量
- 5
偏移量提交配置
- 6
处理再平衡
- 7
停止消费者
- 8
消费者反序列化
- 9
运行单个消费者
Kafka 内部原理
- 1
复制
- 2
Kafka 控制器
- 3
请求处理
- 4
分区分配
- 5
数据存储
- 6
Kafka 中的可靠性
- 7
可靠的生产者和消费者
结论
- 1
Kafka 与其他消息系统对比
附录
- 1
Zookeeper:简介
- 2
Zookeeper:示例
- 3
Zookeeper:实用指南
参考:复制
- 1
简介
- 2
单领导者复制
- 3
异步复制与同步复制
- 4
日志复制中的跟随者
- 5
日志复制
- 6
单主复制中的问题
- 7
多领导者复制
- 8
多主复制中的问题
- 9
多领导者拓扑结构
- 10
无领导者复制
- 11
读写操作的总和大于节点数量
- 12
共识机制的变体
- 13
并发写入
- 14
视频流队列:并发写入示例
参考:分区
- 1
简介
- 2
分区方案
- 3
二级索引
- 4
分区数量
参考:事务
- 1
事务简介
- 2
事务的更多内容
- 3
隔离级别
- 4
读偏斜与快照隔离
- 5
并发写入与更新丢失
- 6
写偏斜
- 7
可串行化
- 8
两阶段锁
- 9
可序列化快照隔离
参考:分布式系统中的问题
- 1
简介
- 2
网络通信
- 3
时间共识
- 4
处理时间相关问题
Certificate of Completion
Showcase your accomplishment by sharing your certificate of completion.
Course Author:Anonymous User