View a markdown version of this page

计划内故障转移 - Amazon Managed Streaming for Apache Kafka

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

计划内故障转移

您可以按计划进行故障转移,以测试应用程序在主 AWS 区域发生意外事件时的弹性。计划失效转移不应导致数据丢失。

Identical topic name replication
  1. 关闭所有连接到您的源集群的生产者和使用者。

  2. 创建一个新的 MSK 复制器,将数据从辅助区域中的 MSK 集群复制到主区域中的 MSK 集群,并使用相同主题名称复制(控制台中为保留相同的主题名称)。这是将写入辅助区域的数据复制回主区域以进行故障恢复所必需的。

  3. 启动连接到辅助 AWS 区域中目标集群的生产者和消费者。

Prefixed topic name replication
  1. 关闭所有连接到您的源集群的生产者和使用者。

  2. 创建新的 MSK 复制器,将数据从二级区域的 MSK 集群复制到主区域中的 MSK 集群。这是故障恢复所必需的。

  3. 在辅助 AWS 区域的目标集群上启动生产者。

  4. 如果您的应用程序不需要消息排序,则在辅助 AWS 区域中启动使用通配符运算符(例如topic)同时读取本地(例如<sourceKafkaClusterAlias>.topic)和复制主题(例如.*topic)的使用者。

    如果您的应用程序需要消息排序,请仅为目标集群上复制的主题(例如<sourceKafkaClusterAlias>.topic)启动使用者,而不为本地主题启动使用者。

  5. 等待目标 MSK 集群上所有已复制主题的使用者完成所有数据的处理,以便使用者延迟为 0。然后,停止使用复制的话题。

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