本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
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 调用(例如DescribeClusterV2
,CreateTopic
,)DescribeTopicDynamicConfiguration
都会被捕获。 Amazon CloudTrail您的MSK经纪人日志也将反映出来。
MSKReplicator 在目标集群中创建复制器因子为 3 的主题。如果需要,可以直接在目标集群上修改重复因子。
元数据复制
MSKReplicator 还支持将元数据从源集群复制到目标集群。元数据包括主题配置、读取访问控制列表 (ACLs) 和使用者组偏移量。与数据复制一样,元数据复制也是异步进行的。为了提高性能,MSKReplicator 优先考虑数据复制而不是元数据复制。
作为消费者组偏移量同步的一部分,MSKReplicator 会针对源集群上的消费者进行优化,这些使用者从更靠近流尖端的位置(主题分区的末尾)进行读取。如果您的消费组在源集群上滞后,则与源集群相比,目标集群上的消费组的延迟可能会更高。这意味着在故障转移到目标集群后,您的使用者将重新处理更多重复的消息。为了减少这种延迟,源集群上的消费者需要赶上 catch 并从直播的末端(主题分区的末尾)开始消费。当你的消费者赶上时,MSKReplicator 将自动减少延迟。