View a markdown version of this page

主題命名 (字首與相同) - Amazon Managed Streaming for Apache Kafka

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

主題命名 (字首與相同)

MSK Replicator 有兩種主題名稱組態模式:字首 (預設) 或相同主題名稱複寫。

字首主題名稱複寫

根據預設,MSK Replicator 會在目標叢集中建立新的主題,並將自動產生的字首新增至來源叢集主題名稱,例如 <sourceKafkaClusterAlias>.topic。這會將複寫的主題與目標叢集中的其他主題區分開來,並避免叢集之間的資料循環複寫。

例如,MSK Replicator 會將名為「topic」的主題中的資料從來源叢集複寫到目標叢集中名為 的新主題<sourceKafkaClusterAlias>.topic。您可以使用 DescribeReplicator API 或 MSK 主控台上的複寫器詳細資訊頁面,在 sourceKafkaClusterAlias 欄位下找到字首。

為了確保您的取用者可以從待命叢集可靠地重新啟動處理,請設定您的取用者使用萬用字元運算子 從主題讀取資料.*。例如,您的消費者需要在.*topic1兩個 AWS 區域中使用 。此範例也會包含 等主題footopic1,因此請根據您的需求調整萬用字元運算子。

當您想要將複寫的資料保留在目標叢集中的不同主題時,請使用字首主題名稱複寫,例如用於主動-主動叢集設定。對於字首組態, ReplicatorBytesInPerSecReplicatorThroughput 將具有相同的值,因為 MSK Replicator 不會篩選任何資料。

相同的主題名稱複寫

或者,Amazon MSK Replicator 可讓您建立將主題複寫設定為相同主題名稱複寫的複寫器 (在主控台中保留相同的主題名稱)。相同名稱的複寫主題可讓您避免重新設定用戶端從複寫主題讀取。

相同的主題名稱複寫具有下列優點:

  • 在複寫期間保留相同的主題名稱,同時自動避免無限的複寫迴圈。

  • 簡化多叢集串流架構,因為您可以避免重新設定用戶端。

  • 簡化主動-被動架構的容錯移轉程序,允許應用程式無縫容錯移轉,無需變更主題名稱或重新設定用戶端。

  • 可以將來自多個 MSK 叢集的資料合併到單一叢集,以進行資料彙總或集中式分析 (每個來源叢集都需要個別的複寫器)。

  • 可以簡化從一個 MSK 叢集到另一個叢集的資料遷移。

Amazon MSK Replicator 使用 Kafka 標頭自動避免資料複寫回其源自的主題,消除複寫期間無限週期的風險。MSK Replicator 會將來源叢集和主題的識別符嵌入複寫的每個記錄的標頭 (__mskmr)。您應該確認您的用戶端能夠如預期讀取複寫的資料。