使用 MSK Replicator 的最佳做法 - Amazon Managed Streaming for Apache Kafka
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

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

使用 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无服务器集群配置