概念
基于发布/订阅模式的分布式消息队列
分布式 基于发布和订阅模式的消息队列
本身最新定位:分布式流式事件处理平台
除了缓存存储数据 还支持了数据流式计算能力 不用
-
发布/订阅模式
image.png
多个的生产者发布不同的数据到 topic 队列上(主题队列)
不同的消费者,订阅自己所需要的topic(主题)
-
使用消息队列的好处
解耦合
缓冲, 流量消峰
异步处理
日志处理:实时计算场景中将数据缓存到消息队列中,解决大量日志传输的问题。 -
集群架构
zk集群 kafka集群
image.png
image.png
主备架构 broker节点 broker-controller主节点
zk 集群存放 kafka集群上所有元数据
主节点是由zk选举得到的 leader副本是由 controller 主节点选举得到的 -
组件
kafka集群 每个节点叫做broker 主角色叫做controller broker
producer 生产者
consumer group 消费者组
consumer消费者 -
topic如何分布式存储
topic 主题 数据的分类
partition分区 主题是分布式存储的 放在不同的broker上
replication副本
leader副本 对外读写的 生产者消费者直接打交道
follower副本 同步leader副本的数据 时刻准备成为leader
另外kafka的数据是存放在页缓存和linu磁盘当中,每个分区的offset是唯一的
磁盘当中每个分区以segment片段存在
xxx.log
xxx.index offset的稀疏索引
xxx.time space 时间戳索引
网友评论