雲訊息佇列 Kafka 版對某些具體指標進行了約束和規範,您在使用雲訊息佇列 Kafka 版時注意不要超過相應的限制值,以免程式出現異常。
若由於您的執行個體配置超出下列限制導致的任何不穩定情況,不在SLA承諾和賠償範圍內。
使用限制
雲訊息佇列 Kafka 版的限制項和限制值,請參見下表。
|
限制項 |
限制值 |
說明 |
|
限制Topic總數(分區總數) |
支援 |
雲訊息佇列 Kafka 版的儲存和協調機制是以分區為粒度的,Topic總數(分區總數)太多,會導致儲存片段化,叢集效能和穩定性下降。 |
|
Topic分區數最小值 |
|
如果流量過大,單分區可能導致資料扭曲熱點問題。建議合理設定分區數量。 |
|
Topic減少對應分區 |
不支援 |
這是Apache Kafka自身設計所限制的。 |
|
暴露ZooKeeper |
不支援 |
在使用設計層面,Apache Kafka自0.9.0之後已經屏蔽掉ZooKeeper,即用戶端使用無需訪問ZooKeeper。雲訊息佇列 Kafka 版的ZooKeeper是部分共用的,出於安全考慮,不予暴露。您也無需感知到ZooKeeper。 |
|
登入部署雲訊息佇列 Kafka 版的機器 |
不支援 |
無。 |
|
版本 |
支援2.2.x版本~3.3.x版本 |
如需升級版本,請參見升級執行個體版本。 |
|
分區數量和Topic數量的對應關係 |
1∶1 |
可使用的Topic數量與總分區數強相關。例如,您購買了分區數為50、流量規格為alikafka.hw.2xlarge、規格內贈送分區數為1000的執行個體,那麼該執行個體總分區數=購買分區數+規格內贈送分區數=50+1000=1050,可用Topic數量為1050。 說明
僅非Serverless執行個體適用。 |
|
變更執行個體的地區 |
不支援 |
執行個體購買部署之後,其地區與實體資源緊密結合,無法變更。如需變更執行個體的地區,請釋放執行個體,並重新購買。 |
|
變更執行個體網路屬性 |
支援 |
網路屬性可以根據需要變更。具體操作,請參見升級執行個體配置。 |
|
訊息大小 |
10 MB |
訊息大小不得超過10 MB,否則訊息會發送失敗。 |
|
監控警示 |
支援 |
資料延時1分鐘。 |
|
存取點 |
購買規格 |
|
|
雲端儲存單分區 |
宕機和升級時可能導致不可用 |
建議建立的分區數大於1,如果強依賴單分區,可以使用Local儲存。 說明
|
|
單Batch最大訊息條數限制 |
32767 |
如果單條訊息過小時,建議 說明
僅非Serverless執行個體存在此限制。 |
雲訊息佇列 Kafka 版非Serverless執行個體不再支援按照Topic規格購買執行個體,若您的已有執行個體是按照Topic規格購買的,那麼Topic數量與分區數量的對應關係為1∶16,專業版執行個體Topic數量=購買Topic數量×2。
配額限制
下表列舉了雲訊息佇列 Kafka 版使用限制項,超出下列使用限制可能會產生穩定性問題。其他限制中列舉了部分可能對服務端造成不良影響的使用情境,需要謹慎使用避免造成服務端過載引發穩定性問題。
除非另有說明,限制都是針對每個叢集的。如需更大的配額,請提交工單諮詢。
表格中出現的“//”表示整數除法,即向下取整。
|
限制項 |
限制條件 |
說明 |
|||
|
訂用帳戶/按小時後付費執行個體 |
Serverless(基礎版) |
Serverless(標準版/專業版) |
是否強限制 |
||
|
串連數(單節點) |
計算公式:
|
計算公式:
|
是 |
單台Broker的TCP串連數。 如需更大串連數上限,請提交工單申請。 超過串連數上限後,新串連會緩慢建連,老串連會被LRU kill。 |
|
|
SSL串連數(單節點) |
計算公式:
|
計算公式:
|
是 |
單台Broker的SSL TCP串連數。 超過串連數上限後,新串連會緩慢建連,老串連會被LRU kill。 |
|
|
建立串連頻率(單節點) |
50次/秒 |
150次/秒 |
150次/秒 |
是 |
每秒用戶端與服務端嘗試建立串連次數(包含因鑒權失敗等原因導致的失敗串連)。 超過串連數上限後,新串連會緩慢建連。 |
|
SSL建立串連頻率(單節點) |
10次/秒 |
是 |
每秒用戶端與服務端嘗試建立 SSL 串連次數(包含因鑒權失敗等原因導致的失敗串連)。 超過串連數上限後,新串連會緩慢建連。 |
||
|
batch size |
batch size TP50=4 KB以下定義為片段化發送 |
否 |
發送用戶端攢批後PRODUCE請求中攜帶的訊息batch大小。可能導致服務端 CPU 負載上升,影響叢集穩定性。推薦使用2.4以上的用戶端版本,提升batch攢批能力,請參見提升發送效能(減少片段化發送請求)。 |
||
|
發送請求頻率(叢集) |
計算公式:
|
計算公式:
|
計算公式:
|
否 |
用戶端每秒發送PRODUCE的請求數量。可能導致服務端 CPU 負載上升,影響叢集穩定性。 如需更大請求數上限,請提交工單申請。 |
|
消費請求頻率(叢集) |
計算公式:
|
計算公式:
|
計算公式:
|
否 |
用戶端每秒消費FETCH的請求數量。可能導致服務端 CPU 負載上升,影響叢集穩定性。 如需更大請求數上限,請提交工單申請。 |
|
提交消費位點頻率(單節點) |
計算公式:
|
計算公式:
|
否 |
用戶端每秒發送 OFFSET_COMMIT 的請求數量。可能導致服務端 CPU 負載上升,影響叢集穩定性。 如需更大請求數,請提交工單申請。 |
|
|
中繼資料request頻率(叢集) |
計算公式:
|
計算公式:
|
否 |
服務端收到的用戶端中繼資料request,例如 警告
如果請求過於頻繁,會影響叢集穩定性。 |
|
|
最大分區數 |
各規格執行個體的最大分區數請參見執行個體分區數。 |
是 |
分區數包括使用者建立的不同類型Topic的分區。超過上限無法建立 Topic,無法擴容分區。 如需更大分區上限數,請提交工單申請。 |
||
|
建立/刪除分區頻率(叢集) |
900分區(每10秒) |
否 |
包含控制台,OpenAPI、Kafka Admin等所有分區操作。 |
||
|
consumer group數量(叢集) |
2000/叢集 Topic和Group的訂閱比建議 1:1,不超過 3:1。 |
否 |
使用者使用的Group數量。 如需更大Group上限數,請提交工單申請。 警告
過多的消費者組可能導致服務端協調負載增加、中繼資料管理複雜性提高,從而影響效能和故障恢復。 |
||
|
訊息格式版本 |
發送訊息和消費訊息格式版本需大於V1 |
是 |
推薦使用2.4以上的用戶端版本。 警告
使用較低版本的Kafka訊息格式可能導致無法發送或消費訊息,服務端CPU上升、吞吐效能下降及相容性和安全性等問題。 |
||
|
無效訊息體時間戳記攔截 |
當 |
是 |
用戶端有明確報錯:INVALID_TIMESTAMP(32, "The timestamp of the message is out of acceptable range.", InvalidTimestampException::new) |
||
|
Compact Topic 大小限制 |
預設不開放 CompactTopic |
是 |
為了防止 Compact Topic 異常寫入,導致叢集儲存寫滿而宕機。預設不開放 CompactTopic 如有特殊需要,請提交工單申請。 |
||
|
其他限制 |
|
否 |
無 |
||