執行計劃容錯移轉至次要 AWS 區域 - Amazon Managed Streaming for Apache Kafka

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

執行計劃容錯移轉至次要 AWS 區域

您可以執行規劃的容錯移轉,以針對具有來源MSK叢集的主要 AWS 區域中的非預期事件測試應用程式的彈性。計劃的容錯移轉不應導致資料遺失。

如果您使用的是相同主題名稱複寫組態,請遵循下列步驟:

  1. 關閉連線至來源叢集的所有生產者和取用者。

  2. 建立新的複寫器,以使用相同的主題名稱複寫 MSK (在主控台中保留相同的主題名稱),將資料從次要區域中的MSK叢集複寫到主要區域中的MSK叢集。如果需要將要寫入次要區域的資料複寫回主要區域,以便在意外事件結束後容錯恢復至主要區域,就需要此操作。

  3. 啟動連接到次要 AWS 區域中目標叢集的生產者和取用者。

如果您使用的是字首主題名稱組態,請依照下列步驟進行容錯移轉:

  1. 關閉連線至來源叢集的所有生產者和取用者。

  2. 建立新的MSK複寫器,將資料從次要區域中的MSK叢集複寫到主要區域中的MSK叢集。如果需要將要寫入次要區域的資料複寫回主要區域,以便在意外事件結束後容錯恢復至主要區域,就需要此操作。

  3. 在次要 AWS 區域的目標叢集上啟動生產者。

  4. 根據應用程式的訊息順序要求而定,依照下列其中一個索引標籤中的步驟進行操作。

    No message ordering

    如果您的應用程式不需要訊息排序,請使用萬用字元運算子 (例如 ),在從本機 (例如主題) 和複寫主題 (例如 <sourceKafkaClusterAlias>.topic) 讀取的次要 AWS 區域中啟動取用者.*topic

    Message ordering

    如果您的應用程式需要訊息排序,請僅針對目標叢集 (例如 <sourceKafkaClusterAlias>.topic) 上的複寫主題,而非本機主題 (例如,topic) 啟動取用者。

  5. 等待目標MSK叢集上複寫主題的所有取用者完成所有資料的處理,以便取用者延遲為 0,處理的記錄數量也為 0。然後,停止目標叢集上複製主題的取用者。此時,從來源MSK叢集複寫到目標MSK叢集的所有記錄都已取用。

  6. 啟動目標MSK叢集上本機主題 (例如 topic) 的取用者。