使用MSK複製器的最佳做法 - Amazon Managed Streaming for Apache Kafka

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

使用MSK複製器的最佳做法

本節涵蓋使用 Amazon MSK 複製器的常見最佳實務和實作策略。

使用 Kafka 配額管理MSK複寫器輸送量

由於MSK複製器充當來源叢集的用戶,因此複寫可能會導致來源叢集上的其他取用者受到限制。限流量取決於您在來源叢集上擁有的讀取容量,以及要複寫的資料輸送量。我們建議您為來源和目標叢集佈建相同的容量,並在計算您需要的容量時考慮複寫輸送量。

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

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

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

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

  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></programlisting>
  4. 執行上述命令後,驗證 ReplicatorThroughput 指標是否未超過您設定的配額。

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

有關使用配額MSKIAM身份驗證的詳細資訊,請參閱 Amazon 中具有IAM存取控制和卡夫卡MSK配額的多租戶 Apache Kafka 叢集 — 第 1 部分。

警告

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

設定叢集保留期間

您可以設定MSK已佈建叢集和無伺服器叢集的記錄保留期間。建議保留期間為 7 天。請參閱 叢集組態變更MSK無伺服器叢集組態