View a markdown version of this page

容錯回復 - Amazon Managed Streaming for Apache Kafka

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

容錯回復

您可以在該 AWS 區域中的服務事件結束後,容錯移轉至主要區域。

Identical topic name replication
  1. 建立新的 MSK Replicator,您的次要叢集做為來源,而主要叢集做為目標,開始位置設定為最早和相同的主題名稱複寫 (在主控台中保留相同的主題名稱)。這會在容錯移轉回主要區域之後,開始複製寫入次要叢集的所有資料。

  2. MessageLag Amazon CloudWatch 中監控新複寫器上的指標,直到達到 0,這表示所有資料已從次要複寫至主要。

  3. 複寫所有資料後,停止連線至次要叢集的所有生產者,並啟動連線至主要叢集的生產者。

  4. 等待連線至次要叢集的消費者成為 MaxOffsetLag 指標0,以確保他們已處理所有資料。請參閱 監控消費者延遲

  5. 處理所有資料後,停止次要區域中的消費者,並啟動連線至主要叢集的消費者以完成容錯回復。

  6. 刪除您在將資料從次要叢集複寫至主要叢集的第一個步驟中建立的複寫器。

  7. 確認您現有的複寫器將資料從主要叢集複製到次要叢集的狀態為「RUNNING」,且 ReplicatorThroughput Amazon CloudWatch 中的指標大於 0

    請注意,當您建立新的複寫器,其起始位置為最早容錯回復時,它會開始讀取次要叢集主題中的所有資料。根據您的資料保留設定,您的主題可能會有來自來源叢集的資料。雖然 MSK Replicator 會自動篩選這些訊息,但您仍需支付次要叢集中所有資料的資料處理和傳輸費用。您可以使用 追蹤複寫器處理的資料總數ReplicatorBytesInPerSec

Prefixed topic name replication

只有在從次要區域中的叢集複寫到主要區域中的叢集已趕上且 MessageLag Amazon CloudWatch 中的指標接近 0 之後,您才應該啟動容錯回復步驟。計劃的容錯恢復不會導致任何資料遺失。

  1. 關閉連線至次要區域中 MSK 叢集的所有生產者和取用者。

  2. 對於主動-被動拓撲,請刪除正在將資料從次要區域中的叢集複寫到主要區域的複寫器。您不需要刪除主動-主動式拓撲的複寫器。

  3. 啟動連線至主要區域中 MSK 叢集的生產者。

  4. 如果您的應用程式不需要訊息排序,請在使用萬用字元運算子從本機和複寫主題讀取的主要 AWS 區域中啟動消費者。如果您的應用程式需要訊息排序,請先為複寫的主題啟動消費者,等待延遲達到 0,然後切換到本機主題。

  5. 確認從主要區域中叢集到次要區域中叢集的現有複寫器處於 RUNNING 狀態,並使用 ReplicatorThroughput和 延遲指標如預期般運作。