使用 Azure Cosmos DB 來全域散發資料

適用於: NoSQL MongoDB Cassandra Gremlin Table

現今的應用程式需要具有快速回應能力,且一律保持線上狀態。 為了達到低延遲和高可用性,這些應用程式的執行個體必須部署在接近使用者的資料中心內。 這些應用程式通常會部署在多個資料中心內,因此稱為全域散發的應用程式。 全域散發的應用程式需要全域散發的資料庫,這類資料庫可以透明方式複寫世界各地的資料,讓應用程式使用接近其使用者的資料複本。

Azure Cosmos DB 是全域散發的資料庫系統,可讓您從資料庫的本機複本中讀取和寫入資料。 Azure Cosmos DB 會透明地將資料複寫到與 Azure Cosmos DB 帳戶相關聯的所有區域。 Azure Cosmos DB 是一個全域散發的資料庫服務,旨在提供低延遲性、有彈性的輸送量延展性、妥善定義以保有資料一致性的語法,以及高可用性。 簡單地說,如果您的應用程式需要在世界各地具備快速回應時間,並一律需保持線上狀態,而且需要無限制且有彈性的輸送量和儲存體可擴縮性,則應該在 Azure Cosmos DB 上建置應用程式。

您可以將資料庫設定為全域散發,並且可在任一個 Azure 區域中使用。 若要降低延遲,請將資料放置於更接近使用者所在的位置。 選擇所需的區域,取決於您應用程式能夠觸達的全域範圍以及使用者所在的位置。 Azure Cosmos DB 會透明地將資料複寫到與 Azure Cosmos DB 帳戶相關聯的所有區域。 它提供全域散發 Azure Cosmos DB 資料庫和容器的單一系統映射,您的應用程式可以在本機讀取和寫入。

透過 Azure Cosmos DB,您可以隨時新增或移除任何與您帳戶相關聯的區域。 您不需暫停或重新部署應用程式,就能新增或移除區域。 Azure Cosmos DB 適用于所有五個不同的 Azure 雲端環境,可供客戶使用:

  • Azure 公用雲端,全球皆有提供。

  • Microsoft 與 21Vianet (中國境內最大的網際網路供應商之一) 締結了獨特的合作關係,以提供 Azure China 21Vianet

  • Azure 德國在資料信任者模型下提供服務,以確保 Deutsche Telekom 子公司 T-Systems International GmbH 會以德國資料信任者的形式,掌管留在德國的客戶資料。

  • Azure Government 在北美洲的四個區域中提供給 US Gov 機構和其合作夥伴使用。

  • 適用於美國國防部 (DoD) 的 Azure Government 會在美國的兩個區域中提供給美國國防部使用。

高可用性的部署拓撲

全域散發的主要優點

建置全域主動-主動應用程式。 憑藉其新穎的多重區域寫入複寫通訊協定,每個區域都支援寫入和讀取。 多重區域寫入功能也會啟用:

  • 無限制且有彈性的寫入和讀取可擴縮性。
  • 在世界各地具有 99.999% 的讀取和寫入可用性。
  • 保證讀取和寫入會以第 99 百分位數且小於 10 毫秒的方式提供服務。

當您在 Azure Cosmos DB 帳戶中新增和移除區域時,您的應用程式不需要重新部署或暫停,它隨時都會保持高可用性。

建置高度回應的應用程式。 應用程式可以針對您為資料庫選擇的所有區域,執行近即時的讀取和寫入。 Azure Cosmos DB 會在內部處理區域之間的資料複寫,並提供您所選層級的一致性層級保證。

建置高可用性應用程式。 在全球多個區域中執行資料庫,可提高資料庫的可用性。 如果一個區域無法使用,其他區域就會自動處理應用程式的要求。 Azure Cosmos DB 可為多重區域資料庫提供達 99.999% 的讀取和寫入可用性。

在區域中斷期間維護商務持續性。 Azure Cosmos DB 在區域中斷期間支援服務管理容錯移轉。 在區域性中斷期間,Azure Cosmos DB 會繼續維持其延遲性、可用性、一致性和輸送量 SLA。 為了確保整個應用程式的高可用性,Azure Cosmos DB 會提供手動容錯移轉 API 來模擬區域性中斷。 您可以使用此 API 來進行一般的業務持續性演練。

全域調整讀取和寫入輸送量。 您可以讓每個區域都成為可寫入,而且可彈性調整世界各地的讀取和寫入。 您的應用程式在 Azure Cosmos DB 資料庫或容器上設定的輸送量會布建到與 Azure Cosmos DB 帳戶相關聯的所有區域。 由財務所支援的 SLA 會保證已佈建的輸送量。

從數個定義完善的一致性模型中選擇。 Azure Cosmos DB 複寫通訊協定會提供五個定義完善、實用且直覺式的一致性模型。 每個模型都會在一致性與效能之間進行權衡取捨。 使用這些一致性模型來輕鬆建置全域散發的應用程式。

後續步驟

從下列文章中深入了解全域散發: