異地複寫 (公開預覽)
有兩項功能可在 Azure 事件中樞提供異地災害復原。
- 異地災害復原 (Metadata DR),只提供中繼資料的複寫。
- 異地復寫 (公開預覽),可提供中繼資料和資料復寫。
注意
只有專用層才支援異地復寫功能。
這些功能不應與可用性區域混淆。 這兩個異地復原功能都提供 Azure 區域之間的復原能力,例如美國東部和美國西部。 可用性區域支援可在特定地理區域內提供復原功能,例如美國東部。 如需可用性區域的詳細資訊,請參閱事件中樞可用性區域支援。
重要
- 此功能目前為公開預覽,因此不應用於實際執行案例。
- 下方區域目前以公開預覽形式支援。
區域 | 區域 | 區域 |
---|---|---|
澳大利亞中部 | GermanyNorth | NorwayWest |
AustraliaCentral2 | GermanyWestCentral | 波蘭中心 |
澳大利亞東部 | 以色列Central | SouthAfricaNorth |
澳大利亞東南部 | 義大利諾思 | SouthAfricaWest |
BrazilSoutheast | JapanEast | SoutheastAsia |
CanadaCentral | JapanWest | SouthIndia |
加拿大東部 | JioIndiaCentral | 西班牙中心 |
CentralIndia | JioIndiaWest | SwedenCentral |
CentralUS | KoreaCentral | SwitzerlandNorth |
CentralUSEUAP | KoreaSouth | SwitzerlandWest |
EastAsia | 墨西哥中心 | UAECentral |
EastUS2 | NorthCentralUS | UAENorth |
FranceCentral | 北歐 | 英國南部 |
FranceSouth | NorwayEast | UKWest |
中繼資料災害復原與中繼資料和資料異地複寫
中繼資料災害復原功能會將命名空間的設定資訊從主要命名空間複寫到次要命名空間。 只支援一次容錯移轉到次要區域。 在客戶起始的容錯移轉期間,命名空間的別名名稱會重新指向次要命名空間,然後配對會中斷。 除了設定資訊之外,不會複寫任何資料,也不會複寫權限指派。
較新的異地複寫功能會將設定資訊和所有資料從主要命名空間複寫到一或多個次要命名空間。 執行容錯移轉時,選取的次要區域會變成主要,而上一個主要區域會變成次要。 如有需要,使用者可以執行容錯移轉,回到原始的主要區域。
本文的其餘部分著重於異地複寫功能。 如需中繼資料災害復原功能的詳細資料,請檢視事件中樞中繼資料異地災害復原。
異地複寫
事件中樞自助調整專用叢集的命名空間支援異地複寫功能的公開預覽。 您可以在專用自助叢集中,搭配新的命名空間或現有命名空間使用此功能。 異地複寫不支援下列功能:
- 客戶自控金鑰 (CMK)
- 用於擷取的受控識別
- 虛擬網路功能 (服務端點或私人端點)
- 大型訊息支援 (目前在公開預覽版中)
- Kafka 交易 (目前在公開預覽版中)
異地資料複寫公開預覽的一些主要層面包括:
- 主要-次要複寫模型:異地複寫是以主要-次要複寫模型為基礎所建置,在指定時間只有一個主要命名空間會為事件產生者和事件取用者提供服務。
- 事件中樞會在次要區域上 (已設定一致性層級),執行中繼資料、事件資料和取用者位移的完全受控位元組對位元組複寫。
- 穩定的命名空間完整網域名稱 (FQDN) – 執行升階時,FQDN 不需要變更。
- 複寫一致性 - 有兩個複寫一致性設定:同步和非同步。
- 使用者管理的次要區域升階為新的主要區域。
有兩種方式可將次要區域變更為新的主要區域:
- 已規劃:在新的主要區域趕上先前主要執行個體持有的所有資料之前,將次要區域升階至並未處理流量的主要區域。
- 強制:作為容錯移轉 (次要區域盡快變成主要區域)。 異地複寫功能會將所有資料和中繼資料從主要區域複製到所選次要區域。 命名空間 FQDN 一律指向主要區域。
當您起始次要區域升階時,FQDN 會指向已選取為新主要區域的區域。 舊的主要區域會成為次要區域。 您可以基於容錯移轉以外的原因,將次要區域升階為新的主要區域。 這些原因可能包括應用程式升級、容錯移轉測試或任何其他事項。 在這些情況下,當這些活動完成時,通常會切換回來。
次要區域可根據客戶的判別新增或移除。 有一些目前的限制值得注意:
- 無法支援次要區域上的唯讀檢視。
- 沒有自動升階/容錯移轉功能。 所有升階都是由客戶啟動。
- 次要區域必須與主要區域不同。 您無法選取相同區域中的另一個專用叢集。
- 公開預覽僅支援一個次要區域。
複寫一致性
有兩個複寫一致性設定:同步和非同步。 請務必了解這兩個設定之間的差異,因為會影響您的應用程式和資料一致性。
非同步複寫
啟用非同步複寫後,所有訊息都會在主要區域中認可,然後傳送至次要區域。 使用者可以設定次要區域必須趕上的可接受延隔時間量。 當作用中次要區域的延隔時間大於使用者延隔設定時,主要區域會節流傳入的發佈要求。
同步複寫
啟用同步複寫時,已發佈的事件會複寫到次要區域,必須先確認訊息,才能在主要區域中認可。 透過同步複寫,您的應用程式發佈速度取決於發佈、複寫、確認和認可所需的時間。 這也表示您的應用程式與這兩個區域的可用性相關聯。 如果次要區域關閉,就無法確認或認可訊息。
複寫一致性比較
有了同步複寫:
- 由於分散式認可,延遲較長。
- 可用性與兩個區域的可用性相關聯。 如果某個區域關閉,您的命名空間將無法使用。
- 收到的資料一律位於至少兩個區域中 (初始公開預覽僅支援兩個區域)。
同步複寫可提供您資料安全的最大保證。 如果您有同步複寫,則在認可時,會在針對異地複寫設定的所有區域中認可。 不過,啟用同步複寫時,您的應用程式可用性可能會因為這兩個區域的可用性而減少。
啟用非同步複寫並不會大幅影響延遲,而且服務可用性不會受到次要區域遺失的影響。 在認可資料之前,非同步複寫不能保證所有區域都能像同步複寫一樣具有資料。 您也可以在傳入流量節流之前,設定次要區域無法同步的時間量。 此設定可以從 5 分鐘到 1,440 分鐘 (也就是一天)。 如果您想要使用距離很遠的區域,則非同步複寫可能是最適合的選項。
異地複寫設定之後,複寫一致性設定可能會變更。 您可以從同步移至非同步,或從非同步移至同步。 如果您從同步移至非同步,您的延遲和應用程式可用性會改善。 如果您從非同步移至同步,您的次要區域會在延遲達到零之後設定為同步。 如果您在執行時因某些原因持續延遲,您可能需要暫停發行者以讓延遲達到零,並讓您的模式能夠切換至同步。
啟用同步複寫的一般原因與資料重要性、特定商務需求或合規性相關聯。 如果您的主要目標是應用程式可用性,而非資料保證,則非同步一致性可能是較佳的選擇。
次要區域選取
若要啟用異地複寫功能,您必須使用已啟用異地複寫功能的主要和次要區域。 您也需要在主要和次要區域中,具有已存在的事件中樞叢集。
異地複寫功能取決於能夠將已發佈的事件從主要區域複寫到次要區域。 如果次要區域位於另一個洲,這會對從主要區域到次要區域的複寫延遲產生重大影響。 如果因為可用性和可靠性原因使用異地複寫,最好讓次要區域盡可能位於相同的洲。 若要進一步了解地理距離所導致的延遲,您可以透過 Azure 網路來回延遲統計資料 | Microsoft Learn 以深入了解。
異地複寫管理
異地複寫功能可讓您設定次要區域,以複寫設定和資料。 您可以:
- 設定異地複寫 - 在已啟用異地複寫功能集區域中的自助專用叢集,次要區域可以在任何現有命名空間上設定。 也可以在相同專用叢集的命名空間建立期間設定。 若要選取次要區域,您必須在該次要區域中有可用的專用叢集,而次要區域也必須啟用該區域的異地複寫功能集。
- 設定複寫一致性 - 同步和非同步複寫會在設定異地複寫時進行設定,但也可以在之後切換。 您可以透過非同步一致性,設定次要區域允許延遲的時間量。
- 觸發程序升階/容錯移轉 - 所有升階或容錯移轉都是客戶起始的。 在升階期間,您可以選擇從頭開始設為強制,或甚至在升階開始後變更主意,將其設為強制。
- 移除次要區域 - 如果您想要在主要和次要區域之間移除異地配對,您可以隨時執行,而次要區域中的資料將會被刪除。
監視資料複寫
使用者可以監視應用程式指標記錄中的複寫延遲時間計量,以監視複寫作業的進度。
按照監視 Azure 事件中樞 - Azure 事件中樞 | Microsoft Learn,在您的事件中樞命名空間中啟用應用程式指標記錄。
啟用應用程式計量記錄之後,您需要花費幾分鐘從命名空間產生及取用資料,才會看到記錄。
若要檢視應用程式計量記錄,請瀏覽至事件中樞的 [監視] 區段,然後在左側選單選取 [記錄]。 您可以使用下列查詢,來尋找主要和次要命名空間之間的複寫延遲 (以秒為單位)。
AzureDiagnostics | where TimeGenerated > ago(1h) | where Category == "ApplicationMetricsLogs" | where ActivityName_s == "ReplicationLag
count_d
欄指出主要和次要區域之間的複寫延遲 (以秒為單位)。
發佈資料
事件發佈應用程式可以透過已啟用異地複寫命名空間的穩定命名空間 FQDN,發佈資料至異地複寫命名空間。 事件發佈方法與非異地災害復原案例相同,而且不需要變更用戶端應用程式。
在下列情況中可能不適用事件發佈:
- 在容錯移轉寬限期內,現有的主要區域會拒絕發佈至事件中樞的任何新事件。
- 當主要和次要區域之間的複寫延遲達到複寫延遲持續時間上限時,發行者輸入工作負載可能會受到節流。 發行者應用程式無法直接存取次要區域中的任何命名空間。
取用資料
事件取用應用程式可以使用異地複寫命名空間的穩定命名空間 FQDN 來取用資料。 從容錯移轉起始到完成為止,不支援取用者作業。
檢查點/位移管理
取用事件的應用程式可以繼續維護位移管理,因為會使用單一命名空間執行。
Kafka
位移會直接認可至事件中樞,而且會跨區域複寫位移。 因此,取用者可以從主要區域中離開的位置開始取用。
事件中樞 SDK/AMQP
使用事件中樞 SDK 的用戶端必須升級至 2024 年 4 月版本的 SDK。 最新版的事件中樞 SDK 支援使用檢查點更新進行容錯移轉。 檢查點是由具有檢查點存放區 (例如 Azure Blob 儲存體或自訂儲存體解決方案) 的使用者所管理。 如果有容錯移轉,則必須從次要區域取得檢查點存放區,讓用戶端可以擷取檢查點資料,並避免訊息遺失。
定價
事件中樞專用叢集的價格與異地複寫無關。 若要使用異地複寫搭配專用的事件中樞,您必須在個別區域中至少有兩個專用叢集。 作為異地複寫次要執行個體的專用叢集可用於其他工作負載。 異地複寫費用會根據發佈的頻寬乘上次要區域數量來收取。 早期公開預覽版中會免除異地複寫費用。
相關內容
若要了解如何使用異地複寫功能,請參閱使用異地複寫。