本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
本節涵蓋使用 Amazon MSK Replicator 的常見最佳實務和實作策略。
使用 Kafka 配額管理 MSK Replicator 輸送量
由於 MSK Replicator 可作為來源叢集的取用者,因此複寫可能會導致來源叢集上的其他取用者受到限流。限流量取決於您在來源叢集上擁有的讀取容量,以及要複寫的資料輸送量。我們建議您為來源和目標叢集佈建相同的容量,並在計算您需要的容量時考慮複寫輸送量。
您也可以在來源和目標叢集上的設定複寫器的 Kafka 配額,以控制 MSK Replicator 可以使用的容量。建議使用網路頻寬配額。網路頻寬配額會針對一個或多個共用配額的用戶端,定義的位元組率閾值 (定義為每秒位元組數)。此配額是根據每個代理程式而定義。
請依照下列步驟套用配額。
擷取來源叢集的引導伺服器字串。請參閱 取得 Amazon MSK 叢集的引導代理程式。
擷取 MSK Replicator 使用的服務執行角色 (SER)。這是您用於
CreateReplicator
請求的 SER。您也可以從現有複寫器的 DescribeReplicator 回應中提取 SER。使用 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>
執行上述命令後,驗證
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 以非預期的方式運作。
設定叢集保留期間
您可以為 MSK 佈建或無伺服器叢集設定日誌保留期間。建議保留期間為 7 天。請參閱 叢集組態變更 或 支援的 MSK Serverless 叢集組態。