本文介绍云消息队列 Kafka 版的系统架构和发布/订阅模型。
云消息队列 Kafka 版系统架构
如云消息队列 Kafka 版的系统架构所示,一个云消息队列 Kafka 版集群包括Producer、Kafka Broker、Group、ZooKeeper。
Producer
通过push模式向云消息队列 Kafka 版的Kafka Broker发送消息。发送的消息可以是网站的页面访问、服务器日志,也可以是CPU和内存相关的系统资源信息。
Kafka Broker
用于存储消息的服务器。Kafka Broker支持水平扩展。Kafka Broker节点的数量越多,云消息队列 Kafka 版集群的吞吐率越高。
Group
通过pull模式从云消息队列 Kafka 版Broker订阅并消费消息。
Zookeeper
管理集群的配置、选举leader分区,并且在Group发生变化时,进行负载均衡。
云消息队列 Kafka 版的发布/订阅模型
如云消息队列 Kafka 版的发布/订阅模型所示,云消息队列 Kafka 版采用发布/订阅模型。
Group和Topic的对应关系是N : N,即一个Group可以同时订阅多个Topic,一个Topic也可以被多个Group同时订阅。
虽然一个Topic可以被多个Group同时订阅,但该Topic的消息只能被同一个Group内的任意一个Consumer消费。