本文介紹雲訊息佇列 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消費。