本文說明云消息隊列 Kafka 版涉及的專有名詞和術語,幫助您更好地理解相關概念并使用該產品。
Apache Kafka
一款開源的分布式數據流處理平臺,可以實時發布、訂閱、存儲和處理數據流。更多信息,請參見Apache Kafka。
云消息隊列 Kafka 版
一款由阿里云提供的Apache Kafka全托管服務,具備免部署、免運維、低成本、高彈性、高可靠、高吞吐等優勢。更多信息,請參見什么是云消息隊列 Kafka 版?。
ZooKeeper
一款開源的分布式應用程序協調服務。在云消息隊列 Kafka 版中,ZooKeeper主要用于集群管理、配置管理、Leader選舉。ZooKeeper是云消息隊列 Kafka 版的一部分,您無需感知ZooKeeper。
Broker
一個云消息隊列 Kafka 版服務端節點。云消息隊列 Kafka 版提供全托管服務,會根據您的實例的流量規格自動變化Broker的數量和配置。您無需關心具體的Broker信息。
集群
由多個Broker組成的集合。
實例
一個獨立的云消息隊列 Kafka 版資源實體,對應一個集群。
VPC實例
僅提供專有網絡VPC接入點,只能通過專有網絡VPC訪問。
公網/VPC實例
提供公網接入點和專有網絡VPC接入點,可以通過公網訪問,也可以通過專有網絡VPC訪問。
升級大版本
跨版本升級,例如將云消息隊列 Kafka 版實例的版本從0.10.x升級至2.x。更多信息,請參見升級實例版本。
升級小版本
非跨版本升級,例如將云消息隊列 Kafka 版實例的版本從0.10升級至0.10.2,或者從0.10.2升級至0.10.2內核優化版。更多信息,請參見升級實例版本。
接入點
Producer或Consumer連接云消息隊列 Kafka 版時使用的地址,由Broker的IP地址和端口號拼接而成,格式為Broker的IP地址:端口號
,或由云消息隊列 Kafka 版實例域名和端口號拼接而成,格式為實例域名:端口號
。更多信息,請參見接入點對比。
消息
云消息隊列 Kafka 版中信息傳遞的載體。消息可以是網站的頁面訪問、服務器的日志,也可以是和CPU、內存相關的系統資源信息,但對于云消息隊列 Kafka 版,消息就是一個字節數組。
消息保留時長
在磁盤容量充足的情況下,消息的最長保留時間。
- 磁盤容量不足(即磁盤水位達到85%)時,將提前刪除舊的消息,以確保服務可用性。
- 默認值為72小時,取值范圍為24小時~480小時。
最大消息大小
云消息隊列 Kafka 版能收發的消息的最大值。
- 消息的最大值上限為10 MB,不區分標準版實例和專業版實例。
- 修改該配置前,請確認修改值是否匹配生產和消費客戶端相應配置。
發布/訂閱模型
一種異步的服務間通訊模型。發布者無需了解訂閱者的存在,直接將消息發送到特定的主題。訂閱者無需了解發布者的存在,直接從特定的主題接收消息。云消息隊列 Kafka 版支持發布/訂閱模型。更多信息,請參見云消息隊列 Kafka 版的發布/訂閱模型。
訂閱關系
Topic被Group訂閱的情況。云消息隊列 Kafka 版支持查看訂閱了指定Topic的在線Group的情況,非在線Group的情況無法查看。
Producer
向云消息隊列 Kafka 版發送消息的應用。
Consumer
從云消息隊列 Kafka 版接收消息的應用。
Group
一組具有相同Group ID的Consumer。當一個Topic被同一個Group的多個Consumer消費時,每一條消息都只會被投遞到一個Consumer,實現消費的負載均衡。通過Group,您可以確保一個Topic的消息被并行消費。
Topic
消息的主題,用于分類消息。
Topic引流
云消息隊列 Kafka 版集群橫向擴容完成后,使Topic流量重新均勻分布到擴容后的集群上的行為。更多信息,請參見Topic引流。
分區
云消息隊列 Kafka 版中的分區數是指一個主題(Topic)被劃分為的子數據集的數量。每個分區都是一個有序的消息隊列,可以獨立地進行讀寫操作。分區數的選擇通常根據吞吐量和并發性能的需求來決定。
副本數
云消息隊列 Kafka 版允許為每個分區創建多個副本,以提供數據冗余和高可用性。副本數是指每個分區存在的副本數量。副本數的選擇通常是根據可用性和容錯能力的需求來決定。較多的副本數可以提高可用性和數據冗余,但也會增加存儲和網絡開銷。默認單個分區有三個副本即副本因子為3。
分區副本數
分區副本數是分區實際存在的副本數量。它是分區數和副本因子之間的乘積。例如,如果一個主題(Topic)有10個分區,每個分區有3個副本,那么該主題的分區副本數就是30。分區副本數影響著整個Kafka集群的存儲和吞吐量能力。較高的分區副本數可以提高故障容忍性和讀取性能,但也會增加網絡和存儲開銷。
位點
消息到達分區時被指定的序列號。
最小位點
分區的最小位點,即當前分區的首條消息的位點。如何查看當前分區的最小位點,請參見查看分區狀態。
最大位點
分區的最大位點,即當前分區的最新消息的位點。如何查看當前分區的最大位點,請參見查看分區狀態。
消費位點
分區被當前Consumer消費了的消息的最大位點。如何查看消費位點,請參見查看消費狀態。
最近消費時間
Group最近消費的消息被發布到云消息隊列 Kafka 版服務端的存儲時間。如果消費沒有堆積,那么這個時間接近發送時間。
堆積量
當前分區下的消息堆積總量,即最大位點減去消費位點的值。堆積量是一個關鍵指標,如果發現堆積量較大,則Consumer可能產生了阻塞,或者消費速度跟不上生產速度。此時需要分析Consumer的運行狀況,盡力提升消費速度。您可以清除所有堆積消息,從最大位點開始消費,或按時間點進行位點重置。具體操作,請參見重置消費位點。
Local存儲
使用原生Apache Kafka的ISR復制算法的存儲引擎。如果您有特殊需求,例如Compact、冪等、事務、分區順序消息等,建議您選擇Local存儲。更多信息,請參見存儲引擎對比。
云存儲
使用阿里云云盤算法的存儲引擎,充分發揮阿里云底層存儲優勢,其彈性伸縮、可靠性、可用性、成本都要優于Local存儲。因此,在絕大多數情況下,建議您使用云存儲。更多信息,請參見存儲引擎對比。
cleanup.policy
日志清理策略。當您選擇了Local存儲(僅專業版實例支持在創建Topic時將存儲引擎類型選擇為Local存儲,標準版暫不支持。)時,才需配置日志清理策略。云消息隊列 Kafka 版支持以下日志清理策略:
Delete:默認的消息清理策略。在磁盤容量充足的情況下,保留在最長保留時間范圍內的消息;在磁盤容量不足時(一般磁盤使用率超過85%視為不足),將提前刪除舊消息,以保證服務可用性。
Compact:使用Kafka Log Compaction日志清理策略。Log Compaction清理策略保證相同Key的消息,最新的value值一定會被保留。主要適用于系統宕機后恢復狀態,系統重啟后重新加載緩存等場景。例如,在使用Kafka Connect或Confluent Schema Registry時,需要使用Kafka Compact Topic存儲系統狀態信息或配置信息。
重要Compact Topic一般只用在某些生態組件中,例如Kafka Connect或Confluent Schema Registry,其他情況的消息收發請勿為Topic設置該屬性。具體信息,請參見云消息隊列 Kafka 版Demo庫。
普通消息
默認情況下,保證相同Key的消息分布在同一個分區中,且分區內消息按照發送順序存儲。集群重啟或者宕機時,會導致極少量亂序。更多信息,請參見存儲引擎對比。
分區順序消息
默認情況下,保證相同Key的消息分布在同一個分區中,且分區內消息按照發送順序存儲。集群宕機時,不會造成消息亂序。但是會出現部分分區發送消息失敗的情況,等到宕機機器重新上線后即可恢復正常。更多信息,請參見存儲引擎對比。
Connector
云消息隊列 Kafka 版的組件,用于云消息隊列 Kafka 版和其他阿里云服務之間的數據同步。更多信息,請參見Connector概述。
標簽
用于識別云消息隊列 Kafka 版資源。您可以將作用相同的云消息隊列 Kafka 版的資源歸類,便于搜索和資源聚合。更多信息,請參見標簽管理。
RAM
阿里云提供的管理阿里云用戶身份與阿里云資源訪問權限的服務。RAM只針對云消息隊列 Kafka 版控制臺和API操作,客戶端使用SDK收發消息與RAM無關。更多信息,請參見權限控制概述。
ACL
云消息隊列 Kafka 版提供的管理SASL用戶和客戶端使用SDK收發消息權限的服務,和開源Apache Kafka保持一致。ACL只針對客戶端使用SDK收發消息,與云消息隊列 Kafka 版控制臺和API操作無關。更多信息,請參見權限控制概述。