異地複寫概觀
對於應用程式開發人員和 IT 工程師而言,常見的目標是要建置和執行復原應用程式。 復原的定義是應用程式在回應失敗時仍能正常運作的能力。 若要在面對雲端中的區域失敗時達成復原能力,第一步是建置備援,以此來避免單一失敗點。 可透過異地複寫來達成此備援。
應用程式組態異地複寫功能可讓您將組態存放區隨意複寫到您選擇的區域。 每個新複本都會位於不同的區域中,並為您的應用程式建立新的端點,以便對該端點傳送要求。 組態存放區的原始端點稱為原點。 原點無法遭到移除,但除此之外,其行為就像任何複本一樣。
您可以在任何複本中變更或更新您的索引鍵/值。 這些變更會在最終一致性模型之後與所有其他複本一起受到同步處理。
複寫您的組態存放區會新增下列優點:
- 新增 Azure 中斷的復原能力:發生區域性中斷時,複本會個別地受到影響。 如果某個區域發生中斷,您仍可存取所有位於不受影響區域的複本,並持續進行同步處理。 一旦中斷問題獲得緩解,所有受影響的複本都會同步至最新的狀態。 請注意,異地複寫僅會透過應用程式組態的組態提供者來提供自動容錯移轉功能。 否則,您也可以在應用程式的組態中建置自己的自訂容錯移轉機制,以便在不同的複本端點之間切換,以此來減輕 Azure 中斷的影響。
- 要求限制的轉散發:您可以在程式碼中自訂要讓應用程式使用哪個複本端點,以便讓您散發要求負載,以此來避免耗盡要求限制。 例如,如果您的應用程式在多個區域中執行,且只會將要求傳送至一個區域,那麼您可能會開始耗盡應用程式組態要求限制。 您可以在應用程式執行的區域建立複本,以便協助轉散發此負載。 每個複本都有隔離的要求限制,大小等同於原點的要求限制。 在一個複本中耗盡要求限制不會影響另一個複本中的要求限制。
- 區域區隔化:存取多個區域可改善應用程式與組態存放區之間的延遲,進而在應用程式將要求傳送至最接近的複本時,能夠獲得更快的要求回應和更好的效能。 指定複本存取也可讓您根據偏好限制不同區域之間的資料儲存和流動。
若要在您的存放區中啟用此功能,請參閱啟用異地複寫操作指南文件。
範例使用案例
開發人員小組正在建置由多個應用程式組成的系統,而且目前在美國西部區域具有一個 Azure 應用程式組態存放區。 其系統的使用量正在快速成長,而他們想要在下列地點進行調整並滿足客戶需求:瑞典中部、美國西部、北歐和東亞。 他們擁有的所有應用程式目前都使用美國西部的組態存放區,並建立單一失敗點。 如果美國西部發生區域性中斷,而且他們又沒有其他容錯移轉機制或預設行為,那麼客戶將無法使用其系統。 此外,全域所有應用程式目前都受限於單個組態存放區的要求限制。 當小組擴大為更多區域時,此限制將會無法維持。
此小組會受益於異地複寫。 他們可以在其應用程式執行的每個區域中建立組態存放區的複本。 然後,其應用程式可以將要求傳送至相同區域中的複本,而非將要求傳送給美國西部的所有應用程式。 這會有兩個優點:改善的要求延遲和更好的負載分配。 擁有良好的分散式要求負載有助於避免耗盡要求配額。 此外,擁有多個複本可讓小組在發生區域性中斷時設定其應用程式,以進行容錯移轉。 例如,小組可以對在瑞典中部執行的應用程式進行設定,使這些應用程式從該區域提取設定,而如果瑞典中部發生中斷,則可以回溯至北歐。 即使指定區域中的應用程式組態無法使用,小組的系統也不會受到影響。
考量
- 免費層不提供異地複寫。
- 每個複本都有限制,如應用程式組態定價頁面中所述。 每個複本的限制都是彼此隔離的。
- Azure 應用程式組態也支援 Azure 可用性區域,以便在 Azure 區域中建立具有復原性和高可用性的存放區。 如果複本的區域具有可用性區域支援,那麼該複本會自動納入可用性區域支援。 在區域內備援的可用性區域以及跨多個區域進行異地複寫的組合,可增強組態存放區的可用性與效能。
成本和計費
每個建立的複本都會增加額外費用。 如需詳細資訊,請參閱應用程式組態定價頁面。 例如,如果您的原點是標準層組態存放區,而且您有五個複本,那麼系統會向您收取六個標準層組態存放區的費用,而此費用包含了每個複本的隔離配額和要求。
監視
為了提供異地複寫功能的特性深入解析,應用程式組態會提供名為複寫延遲的計量。 複寫延遲計量描述資料從某個區域複寫到另一個區域所需的時間。
如需複寫延遲計量和其他應用程式組態計量的詳細資訊,請參閱監視應用程式組態資料參考。