对辅助 Amazon 区域执行计划外失效转移 - Amazon Managed Streaming for Apache Kafka
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

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

对辅助 Amazon 区域执行计划外失效转移

如果您的源 MSK 集群所在的主 Amazon 区域发生服务事件,并且您想暂时将流量重定向到拥有目标 MSK 集群的辅助区域,则可以进行计划外失效转移。由于 MSK 复制器异步复制数据,计划外失效转移可能会导致一些数据丢失。您可以使用 监控复制 中的指标来跟踪消息延迟。

如果使用相同主题名称复制配置(控制台中为保留相同的主题名称),请按照以下步骤操作:

  1. 尝试关闭所有连接到主区域中源 MSK 集群的生成器和使用器。由于该区域存在损坏,此操作可能不成功。

  2. 启动连接到辅助 Amazon 区域的目标 MSK 集群的生产者和消费者以完成失效转移。由于 MSK 复制器还会复制元数据(包括读取 ACLs 和使用者组偏移量),因此您的生产者和消费者将无缝地从失效转移之前停止的位置恢复处理。

如果使用 PREFIX 主题名称配置,请按照以下步骤进行失效转移:

  1. 尝试关闭所有连接到主区域中源 MSK 集群的生成器和使用器。由于该区域存在损坏,此操作可能不成功。

  2. 启动连接到辅助 Amazon 区域的目标 MSK 集群的生产者和消费者以完成失效转移。由于 MSK 复制器还会复制元数据(包括读取 ACLs 和使用者组偏移量),因此您的生产者和消费者将无缝地从失效转移之前停止的位置恢复处理。

  3. 请按照以下选项卡之一的步骤操作,具体取决于应用程序的消息排序要求。

    No message ordering

    如果您的应用程序不需要消息排序,请使用通配符运算符(例如topic)在目标 Amazon 区域启动同时读取本地(例如<sourceKafkaClusterAlias>.topic)和复制主题(例如.*topic)的使用器。

    Message ordering
    1. 仅为目标集群上复制的主题(例如 <sourceKafkaClusterAlias>.topic)启动使用器,而不为本地主题(例如 topic)启动使用器。

    2. 等待目标 MSK 集群上所有已复制主题的使用器完成所有数据的处理,这样偏移延迟为 0,而处理的记录数也为 0。然后,停止目标集群上已复制主题的使用器。此时,从源 MSK 集群复制到目标 MSK 集群的所有记录都已使用。

    3. 在目标 MSK 集群上启动本地主题(例如 topic)的使用器。

  4. 一旦服务事件在主区域中结束,请创建一个新的 MSK 复制器,以将数据从辅助区域中的 MSK 集群复制到主区域中的 MSK 集群,应将复制器的起始位置设置为最早。这是将要写入二级区域的数据复制回主区域所必需的,这样您就可以在服务事件结束后对主区域执行失效自动恢复。如果未将复制器的起始位置设置为最早,则在主区域的服务事件期间向辅助区域中的集群生成的任何数据都不会被复制回主区域中的集群。