美文网首页
kafka的相关概念及基础架构

kafka的相关概念及基础架构

作者: 彳亍口巴 | 来源:发表于2022-01-09 16:06 被阅读0次

    1、相关概念

    • producer:消息生产者,发布消息到 kafka 集群的终端或服务。
    • broker:kafka 集群中包含的服务器。
    • topic:每条发布到 kafka 集群的消息属于的类别,即 kafka 是面向 topic 的。
    • partition:partition 是物理上的概念,每个 topic 包含一个或多个 partition。kafka 分配的单位是 partition。
    • consumer:从 kafka 集群中消费消息的终端或服务。
    • Consumer group:high-level consumer API 中,每个 consumer 都属于一个 consumer group,每条消息只能被 consumer group 中的一个 Consumer 消费,但可以被多个 consumer group 消费。
    • replica:partition 的副本,保障 partition 的高可用。
    • leader:replica 中的一个角色, producer 和 consumer 只跟 leader 交互。
    • follower:replica 中的一个角色,从 leader 中复制数据。
    • controller:kafka 集群中的其中一个服务器,用来进行 leader election 以及 各种 failover。
    • zookeeper:kafka 通过 zookeeper 来存储集群的 meta 信息。

    2、架构图

    • 一个典型的 kafka 集群包含若干 Producer(可以是应用节点产生的消息,也可以是通过Flume 收集日志产生的事件),若干个 Broker(kafka 支持水平扩展)、若干个 Consumer Group,以及一个 zookeeper 集群。kafka 通过 zookeeper 管理集群配置及服务协同。
    • Producer 使用 push 模式将消息发布到 broker,consumer 通过监听使用 pull 模式从 broker 订阅并消费消息。
    • 多个 broker 协同工作,producer 和 consumer 部署在各个业务逻辑中。三者通过 zookeeper 管理协调请求和转发。这样就组成了一个高性能的分布式消息发布和订阅系统。
    • 和其他 mq 中间件不同的点,producer 发送消息到 broker 的过程是 push,而 consumer 从 broker 消费消息的过程是 pull,主动去拉数据。而不是 broker 把数据主动发送给 consumer。


      kafka基础架构

    相关文章

      网友评论

          本文标题:kafka的相关概念及基础架构

          本文链接:https://www.haomeiwen.com/subject/atbucrtx.html