产品架构

本文介绍云消息队列 Kafka 版的系统架构和发布/订阅模型。

云消息队列 Kafka 版系统架构

云消息队列 Kafka 版的系统架构所示,一个云消息队列 Kafka 版集群包括Producer、Kafka Broker、Group、ZooKeeper。

图 1. 云消息队列 Kafka 版的系统架构系统架构

  • Producer

    • 通过push模式向云消息队列 Kafka 版的Kafka Broker发送消息。发送的消息可以是网站的页面访问、服务器日志,也可以是CPU和内存相关的系统资源信息。

  • Kafka Broker

    • 用于存储消息的服务器。Kafka Broker支持水平扩展。Kafka Broker节点的数量越多,云消息队列 Kafka 版集群的吞吐率越高。

  • Group

    • 通过pull模式从云消息队列 Kafka 版Broker订阅并消费消息。

  • Zookeeper

    • 管理集群的配置、选举leader分区,并且在Group发生变化时,进行负载均衡。

云消息队列 Kafka 版的发布/订阅模型

云消息队列 Kafka 版的发布/订阅模型所示,云消息队列 Kafka 版采用发布/订阅模型。

图 2. 云消息队列 Kafka 版的发布/订阅模型发布订阅模型

  • Group和Topic的对应关系是N : N,即一个Group可以同时订阅多个Topic,一个Topic也可以被多个Group同时订阅。

  • 虽然一个Topic可以被多个Group同时订阅,但该Topic的消息只能被同一个Group内的任意一个Consumer消费。