View a markdown version of this page

使用 Kafka 配額管理輸送量 - Amazon Managed Streaming for Apache Kafka

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

使用 Kafka 配額管理輸送量

由於 MSK Replicator 可作為來源叢集的取用者,因此複寫可能會導致來源叢集上的其他取用者受到限流。限流量取決於您在來源叢集上擁有的讀取容量,以及您正在複寫的資料輸送量。

您可以在來源和目標叢集上設定複寫器的 Kafka 配額,以控制 MSK 複寫器可以使用多少容量。建議使用網路頻寬配額。網路頻寬配額會針對一個或多個共用配額的用戶端,定義的位元組率閾值 (定義為每秒位元組數)。此配額是根據每個代理程式而定義。

請依照下列步驟套用配額:

  1. 擷取來源叢集的引導伺服器字串。請參閱 取得 Amazon MSK 叢集的引導代理程式

  2. 擷取 MSK Replicator 使用的服務執行角色 (SER)。這是您用於 CreateReplicator 請求的 SER。您也可以從DescribeReplicator回應中提取 SER。

  3. 使用 Kafka CLI 工具,對來源叢集執行下列命令:

    ./kafka-configs.sh --bootstrap-server <source-cluster-bootstrap-server> \ --alter \ --add-config 'consumer_byte_rate=<quota_in_bytes_per_second>' \ --entity-type users \ --entity-name arn:aws:sts::<customer-account-id>:assumed-role/<ser-role-name>/<customer-account-id> \ --command-config <client-properties-for-iam-auth>
  4. 執行命令之後,請確認 ReplicatorThroughput 指標不會超過您設定的配額。

如果您在多個 MSK Replicator 之間重複使用服務執行角色,則它們都受限於此配額。如果您想要維護每個複寫器的個別配額,請使用個別的服務執行角色。

如需有關將 MSK IAM 身分驗證與配額搭配使用的詳細資訊,請參閱 Multi-tenancy Apache Kafka clusters in Amazon MSK with IAM access control and Kafka Quotas – Part 1

警告

設定極低consumer_byte_rate可能會導致 MSK Replicator 以非預期的方式運作。