使用 MSK Replicator 的最佳做法 - Amazon Managed Streaming for Apache Kafka

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

使用 MSK Replicator 的最佳做法

本节介绍使用 Amazon MSK Replicator 的常见最佳实践和实施策略。

使用 Kafka 配额管理MSK复制器吞吐量

由于 MSK Replicator 充当源集群的使用者,因此复制可能会导致源集群上的其他使用者受到限制。节流量取决于源集群的读取容量和要复制的数据吞吐量。我们建议您为源集群和目标集群配置相同的容量,并在计算所需容量时考虑复制吞吐量。

您还可以在源集群和目标集群上为复制器设置 Kafka 配额,以控制MSK复制器可以使用的容量。建议使用网络带宽限额。网络带宽限额定义了一个或多个共享限额的客户端的字节速率阈值,定义为每秒字节数。此限额依不同代理而定义。

请按照以下步骤申请限额。

  1. 检索源集群的引导服务器字符串。请参阅 获取 Amazon MSK 集群的引导程序代理

  2. 检索MSK复制器使用的服务执行角色 (SER)。这是SER您用于CreateReplicator请求的。您也可以SER从现有 Replicator 的 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身份验证的更多信息,请参阅亚马逊中具有IAM访问控制功能的多租户 Apache Kafka 集群和 Kafka MSK 配额 — 第 1 部分。

警告

设置极低的 consumer_byte_rate 可能会导致你的MSK复制器以意想不到的方式起作用。

设置集群保留期

您可以为MSK预配置集群和无服务器集群设置日志保留期。默认的保留期为 7 天。请参阅 集群配置更改MSK无服务器集群配置