本頁面說明 Managed Service for Apache Kafka 如何為 Kafka 叢集佈建代理程式。
總覽
Kafka 叢集由一或多個代理程式組成。供應端應用程式會將訊息傳送至代理程式,而消費端應用程式則會連線至代理程式來讀取訊息。多個取用端可以平行讀取訊息,通常是使用取用端群組。主題中的每個分區都會指派一個領導代理程式。領導者負責將收到的分割區資料複製到其他代理程式。
Managed Service for Apache Kafka 會自動為您建立代理程式。 雖然您無法直接設定代理程式數量,但可以擴大叢集來新增代理程式。
代理程式佈建
建立 Managed Service for Apache Kafka 叢集時,服務會在三個區域中各佈建至少一個代理程式。經紀人數的計算方式如下:
number of brokers = max(3, ceiling(vCPUs / 15))
舉例來說,如果叢集有 75 個 vCPU,一開始會有 5 個代理程式。
代理程式會盡可能平均分配到各個可用區,且所有代理程式的 vCPU 數量相同 (可能為分數值)。每個代理程式至少有一個 vCPU。
這項服務會自動為代理程式佈建磁碟容量。您可以在建立叢集時選擇設定每個代理人的磁碟容量,並在日後增加容量。詳情請參閱「設定代理程式磁碟大小」。
調整叢集大小
擴大叢集規模時,系統會將額外的 vCPU 分配給現有代理程式,每個代理程式最多可分配 15 個 vCPU。如果叢集大小超過每個代理程式 15 個 vCPU,服務會佈建新的代理程式。代理程式會平均分配到三個可用區,最多只會相差一個。
如果縮減叢集大小,vCPU 會分配給現有代理程式,每個代理程式至少會分配到一個 vCPU。在叢集的生命週期內,代理程式絕不會遭到刪除。新代理程式佈建完成後,可以縮減至一個 vCPU,但絕不會刪除。
重新平衡代理程式分區
通常擴大叢集的原因是為了減少現有代理程式的負載,方法是將部分分割區重新指派給新的代理程式。這項程序稱為「重新平衡」。系統可以自動或手動執行重新平衡作業。
自動重新平衡。自動重新平衡是叢集層級的設定。 如果啟用自動重新平衡功能,當佈建新的代理程式時,服務會自動重新平衡現有代理程式的分區。重新平衡演算法會根據分割區數量,盡量讓每個代理程式的分割區數量大致相同。不會考量每個分割區實際放送的流量。詳情請參閱「重新平衡設定」。
手動重新平衡。您可以變更分割區指派項目,手動重新平衡分割區。您可能因為自動重新平衡功能已停用,或某個分割區的流量遠高於其他分割區 (稱為熱分割區),而需要執行這項操作。詳情請參閱「變更分區指派」。