全部產品
Search
文件中心

ApsaraMQ for Kafka:基本概念

更新時間:Dec 27, 2024

本文說明雲訊息佇列 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操作無關。更多資訊,請參見許可權控制概述