

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

# 主动-主动复制
<a name="msk-replicator-active-active"></a>

在主动-主动设置中，两个 MSK 集群都积极提供读取和写入服务。主动-主动集群拓扑提供了几乎为零的恢复时间，并且您的流媒体应用程序能够在多个 AWS 区域同时运行。

**使用带前缀的主题名称复制（推荐）**  
对于主动-主动设置，我们建议使用**前缀主题名称复制（在控制台中为主题名称添加前缀**）。这需要重新配置您的消费者以阅读复制的主题，但可以避免额外的数据处理费用。

1. 创建 MSK 复制器，将 MSK 集群 A 作为源，将 MSK 集群 B 作为目标。

1. 成功创建上述 MSK 复制器后，创建一个以集群 B 为源、集群 A 为目标的复制器。

1. 创建两组生产者，每组生产者同时将数据写入集群中的本地主题（例如，“主题”），与生产者位于同一区域。

1. 创建两组使用者，每组使用通配符订阅（例如`.*topic`）从与使用者位于同一 AWS 区域的 MSK 集群中读取数据。这样，您的消费者将自动读取从本地主题（例如`topic`）在本地生成的数据，以及从主题中带有前缀的其他区域复制的数据`<sourceKafkaClusterAlias>.topic`。这两组使用者应具有不同的使用者组， IDs 这样当 MSK Replicator 将它们复制到另一个集群时，消费者组偏移量就不会被覆盖。

**使用相同的主题名称复制**  
如果要避免重新配置客户端，则可以使用相同的主题名称复制来创建 MSK Replicators（在控制台中**保持相同的主题名称**）。但是，您将为每个复制器支付额外的数据处理和数据传输费用。这是因为每个复制器需要处理两倍于平时的数据量，一次用于复制，另一次用于防止无限循环。您可以使用 `ReplicatorBytesInPerSec` 指标跟踪每个复制器处理的总数据量。

**注意**  
如果您对主动-主动拓扑使用相同的主题名称复制，请在删除主题后至少等待 30 秒，然后再重新创建同名主题。此等待期有助于防止重复的消息被复制回源集群。您的使用器必须能够在不影响下游的情况下重新处理重复的消息。