本文說明雲訊息佇列 Kafka 版涉及的專有名詞和術語,協助您更好地理解相關概念並使用該產品。
Apache Kafka
一款開源的分布式資料流處理平台,可以即時發布、訂閱、儲存和處理資料流。更多資訊,請參見Apache Kafka。
雲訊息佇列 Kafka 版
一款由阿里雲提供的Apache Kafka全託管服務,具備免部署、免營運、低成本、高彈性、高可靠、高吞吐等優勢。更多資訊,請參見什麼是雲訊息佇列 Kafka 版?。
ZooKeeper
一款開源的分布式應用程式協調服務。在雲訊息佇列 Kafka 版中,ZooKeeper主要用於叢集管理、組態管理、Leader選舉。ZooKeeper是雲訊息佇列 Kafka 版的一部分,您無需感知ZooKeeper。
Broker
一個雲訊息佇列 Kafka 版服務端節點。雲訊息佇列 Kafka 版提供全託管服務,會根據您的執行個體的流量規格自動變化Broker的數量和配置。您無需關心具體的Broker資訊。
叢集
由多個Broker組成的集合。
執行個體
一個獨立的雲訊息佇列 Kafka 版資源實體,對應一個叢集。
VPC執行個體
僅提供Virtual Private Cloud存取點,只能通過Virtual Private Cloud訪問。
公網/VPC執行個體
提供公網存取點和Virtual Private Cloud存取點,可以通過公網訪問,也可以通過Virtual Private Cloud訪問。
升級大版本
跨版本升級,例如將雲訊息佇列 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儲存。更多資訊,請參見儲存引擎對比。
雲端儲存
使用阿里雲雲端硬碟演算法的儲存引擎,充分發揮阿里雲底層儲存優勢,其Auto Scaling、可靠性、可用性、成本都要優於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操作無關。更多資訊,請參見許可權控制概述。