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

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

Amazon MSK Replicator 的工作方式

要开始使用 MSK Replicator,你需要在目标集群的区域中创建一个新的 Amazon Replicator。MSKReplicator 会自动将主 Amazon 区域中名为源的集群中的所有数据复制到目标区域中名为 target 的集群。源集群和目标集群可以位于相同或不同的 Amazon 区域。如果目标集群尚不存在,则需要创建该集群。

创建 Replicator 时,MSKReplicator 会在目标集群的 Amazon 区域中部署所有必需的资源,以优化数据复制延迟。复制延迟因许多因素而异,包括集群 Amazon 区域之间的网络距离、源MSK集群和目标集群的吞吐容量以及源集群和目标集群上的分区数量。MSKReplicator 会自动扩展底层资源,这样您就可以按需复制数据,而无需监控或扩展容量。

数据复制

默认情况下,MSKReplicator 将所有数据从源集群主题分区中的最新偏移量异步复制到目标集群。如果 “检测并复制新主题” 设置已开启,MSKReplicator 会自动检测新主题或主题分区并将其复制到目标集群。但是,Replicator 最多可能需要 30 秒才能在目标集群上检测和创建新的主题或主题分区。在目标集群上创建主题之前向源主题生成的任何消息都不会被复制。或者,如果要将主题上的现有消息复制到目标集群,则可以在创建期间将 Replicator 配置为从源集群主题分区中最早的偏移量开始复制。

MSK复制器不存储您的数据。从源集群中消耗数据,在内存中进行缓冲并写入目标集群。当数据成功写入或重试后失败时,缓冲区会自动清除。MSKReplicator 与您的集群之间的所有通信和数据始终在传输过程中进行加密。所有 MSK Replicator API 调用(例如DescribeClusterV2CreateTopic,)DescribeTopicDynamicConfiguration都会被捕获。 Amazon CloudTrail您的MSK经纪人日志也将反映出来。

MSKReplicator 在目标集群中创建复制器因子为 3 的主题。如果需要,可以直接在目标集群上修改重复因子。

元数据复制

MSKReplicator 还支持将元数据从源集群复制到目标集群。元数据包括主题配置、读取访问控制列表 (ACLs) 和使用者组偏移量。与数据复制一样,元数据复制也是异步进行的。为了提高性能,MSKReplicator 优先考虑数据复制而不是元数据复制。

作为消费者组偏移量同步的一部分,MSKReplicator 会针对源集群上的消费者进行优化,这些使用者从更靠近流尖端的位置(主题分区的末尾)进行读取。如果您的消费组在源集群上滞后,则与源集群相比,目标集群上的消费组的延迟可能会更高。这意味着在故障转移到目标集群后,您的使用者将重新处理更多重复的消息。为了减少这种延迟,源集群上的消费者需要赶上 catch 并从直播的末端(主题分区的末尾)开始消费。当你的消费者赶上时,MSKReplicator 将自动减少延迟。

MSK复制器源集群和目标群集