使用適用於資料表的 API 來設定 Azure Cosmos DB 全域散發

適用於: Table

本文涵蓋下列工作:

使用 Azure 入口網站新增全球資料庫區域

全球所有 Azure 區域都有提供 Azure Cosmos DB。 選取資料庫帳戶的預設一致性層級之後,您可以關聯一或多個區域 (取決於您對於預設一致性層級和全球發佈需求的選擇)。

  1. Azure 入口網站的左列中,按一下 [Azure Cosmos DB]

  2. 在 [Azure Cosmos DB] 頁面中,選取要修改的資料庫帳戶。

  3. 在帳戶頁面中,從功能表中按一下 [全域複寫資料]

  4. 在 [全域複寫資料] 頁面中,按一下地圖中的區域以選取要新增或移除的區域,然後按一下 [儲存]。 新增區域需要費用,如需詳細資訊,請參閱價格頁面使用 Azure Cosmos DB 全球散發資料一文。

    Click the regions in the map to add or remove them

在您新增第二個區域後,就會在入口網站中的 [全域複寫資料] 頁面上啟用 [手動容錯移轉] 選項。 您可以使用此選項來測試容錯移轉程序,或變更主要寫入區域。 在您新增第三個區域後,將會在相同的頁面上啟用 [容錯移轉優先順序] 選項,讓您能夠變更讀取的容錯移轉順序。

選取全球資料庫區域

設定兩個或更多區域有兩個常見案例︰

  1. 為使用者提供低延遲的資料存取 (無論使用者位於世界何處)
  2. 新增區域性復原能力來提供商務持續性和災害復原 (BCDR)

若要為使用者提供低延遲,建議您在應用程式使用者所在位置的對應區域中部署應用程式和 Azure Cosmos DB。

對於 BCDR,建議根據 Azure 中的跨區域複寫:商務持續性和災害復原文章中所述的區域配對來新增區域。

使用適用於資料表的 API 來連線至慣用的區域

為了充分利用全域散發,用戶端應用程式應指定其應用程式目前執行所在的位置。 此動作可藉由設定 CosmosExecutorConfiguration.CurrentRegion 屬性來完成。 CurrentRegion 屬性應包含單一位置。 每個用戶端執行個體都可指定本身的區域,以利進行低延遲讀取。 這類區域必須以其顯示名稱命名,例如「美國西部」。

Azure Cosmos DB for Table SDK 會根據帳戶組態和目前的區域可用性,自動挑選最適合通訊的端點。 它會排定最近區域的優先順序,為用戶端提供較短的延遲性。 設定目前的 CurrentRegion 屬性之後,會依照下列方式導入讀取和寫入要求:

  • 讀取要求:所有讀取要求都會傳送至已設定的 CurrentRegion。 根據鄰近性,SDK 會自動選取高可用性所需的後援異地複寫區域。

  • 寫入要求:SDK 會自動將所有寫入要求傳送至目前的寫入區域。 在具有多重區域寫入的帳戶中,目前的區域也會處理寫入要求。 根據鄰近性,SDK 會自動選取高可用性所需的後援異地複寫區域。

若未指定 CurrentRegion 屬性,SDK 將會對所有作業使用目前的寫入區域。

例如,假設 Azure Cosmos DB 帳戶位於「美國西部」和「美國東部」區域。 如果「美國西部」是寫入區域,且應用程式出現在「美國東部」。 若未設定 CurrentRegion 屬性,則所有的讀取和寫入要求一律會導向至「美國西部」區域。 若已設定 CurrentRegion 屬性,則會從「美國東部」區域處理所有讀取要求。

下一步

在本教學課程中,您已完成下列操作:

  • 使用 Azure 入口網站來設定全域散發
  • 使用 Azure Cosmos DB 資料表 API 來設定全域散發