全书目录

第二十篇:Kafka 完全指南 —— 城市事件广播总线宇宙

第二章:城市总图 —— Kafka 的角色分工

1 分钟 342 字 第 369 / 962 个阅读单元

先看总图。

text
                    软件城市事件广播总线

  Producer A             Producer B              Producer C
  订单服务               支付服务                 用户服务
      \                     |                       /
       \                    |                      /
        +-------------------+---------------------+
                            |
                            v
                  +-----------------------+
                  |   Kafka Cluster       |
                  |  (城市广播中枢集群)    |
                  +-----------------------+
                    |         |         |
                    v         v         v
                 Broker1   Broker2   Broker3
                 (机房1)   (机房2)   (机房3)

                     Topic: order-events
          +-------------------------------------------+
          | Partition 0 | Partition 1 | Partition 2   |
          |   0 1 2 3   |   0 1 2     |   0 1 2 3 4   |
          +-------------------------------------------+
             ^ offset序号   ^ offset序号  ^ offset序号

        Consumer Group A                  Consumer Group B
        库存部门                           数据分析部门
        C1  C2                            C3

现在把核心名词一口气落地:

  • producer:事件发送者。城市里的业务部门,把“某件事发生了”广播出去。
  • broker:Kafka 服务器节点。城市里的广播机房/中继站。
  • topic:事件频道。比如 order-eventspayment-events
  • partition:频道下的并行分轨/车道。用来扩容吞吐。
  • offset:某条分区里的顺序编号。像这条轨道上的里程桩。
  • consumer:事件消费者。收听广播并处理事件的系统。
  • consumer group:同一类消费者组成的工作组,用来分摊同一个 topic 的分区。

一句话总结:

topic 是频道,partition 是并行车道,offset 是车道内编号,consumer group 是一整个处理班组。