Kafka简介

概念

基于发布/订阅模式的分布式消息队列

分布式 基于发布和订阅模式的消息队列
本身最新定位:分布式流式事件处理平台
除了缓存存储数据 还支持了数据流式计算能力 不用

  • 发布/订阅模式


    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 时间戳索引

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容