Azure Cosmos DB 專用閘道 - 概觀
適用於:NoSQL
專用網路閘道是 Azure Cosmos DB 帳戶前端的伺服器端計算。 當您連線到專用網路閘道時,其會路由傳送要求並快取資料。 和所佈建的輸送量一樣,專用網路閘道也會按小時計費。
概觀
您可以佈建專用網路閘道來大規模改善效能。 佈建專用網路閘道的最常見原因是為了進行快取。 當您佈建專用網路閘道時,專用網路閘道內便會自動設定整合式快取。 點讀取和叫用整合式快取的查詢不會使用任何 RU。 使用整合式快取布建專用網關有助於降低 Azure Cosmos DB 上大量讀取工作負載的成本。
專用網路閘道會內建到 Azure Cosmos DB。 當您佈建專用閘道時,即可獲得完全受控節點,以將要求路由傳送至後端分割區。 相較於連線到具有標準網路閘道的 Azure Cosmos DB,連線到具有專用網路閘道的 Azure Cosmos DB 可提供數值更低且更可預測的延遲。 即使快取遺漏也會在比較專用網關和標準網關時看到延遲改善。
您只需要稍微變更程式碼,就能夠讓應用程式使用專用網路閘道。 新的和現有的 Azure Cosmos DB 帳戶都可以佈建專用網路閘道來改善讀取效能。
注意
對於專用網路閘道,您是否有任何意見反應? 我們想要知道您的看法! 歡迎您將意見反應直接告訴 Azure Cosmos DB 工程小組:cosmoscachefeedback@microsoft.com
連線模式
Azure Cosmos DB 有兩種連線模式:直接模式和閘道模式。 使用閘道模式時,您可以根據所設端點連線到標準閘道或專用閘道。
使用直接模式連線至 Azure Cosmos DB
當您使用直接模式連線到 Azure Cosmos DB 時,您的應用程式會直接連線到 Azure Cosmos DB 後端。 即使您有許多實體分割區,還是會完全在用戶端處理要求路由。 直接模式可提供低延遲,因為應用程式可以直接與 Azure Cosmos DB 後端通訊,而不需要中繼網路躍點。 如果您選擇使用直接模式連線,您的要求將不會使用專用閘道或整合式快取。
使用網路閘道模式連線至 Azure Cosmos DB
如果您使用閘道模式連線到 Azure Cosmos DB,應用程式會先連線到前端節點,以處理將要求路由傳送至適當的後端節點。 因為閘道模式牽涉到額外的網路躍點,因此相較於直接模式,您可能會觀察到稍微較高的延遲。
使用網路閘道模式連線到 Azure Cosmos DB 時,您可以使用下列任一選項進行連線:
- 標準閘道 - 後端 (其包含您佈建的輸送量和儲存體) 的每個容器都會有專用的容量,而標準閘道則由許多 Azure Cosmos 帳戶共用。 許多客戶都能共用標準閘道,因為每個個別客戶所耗用的計算資源都很小。
- 專用網路閘道 - 在此網路閘道中,後端和網路閘道都會有專用容量。 整合式快取需要您 Azure Cosmos DB 帳戶專屬的大量 CPU 和記憶體,因此需要使用專用網路閘道。
您必須使用專用網路閘道來連線到 Azure Cosmos DB,才能使用整合式快取。 專用閘道的端點與 Azure Cosmos DB 帳戶提供的標準閘道端點不同,但要求的傳送路由方式一樣。 當您連線到專用網路閘道端點時,應用程式會傳送要求給專用網路閘道,後者再將要求路由傳送到不同的後端節點。 可能的話,整合式快取會提供結果。
使用專用網路閘道的網路閘道模式連線圖:
佈建專用網路閘道
API for NoSQL 帳戶中可佈建專用閘道叢集。 專用閘道叢集預設最多可有五個節點,而且您可以隨時新增或移除節點。 您的帳戶 內的所有專用網關節點都會共用相同的專用閘道端點。
專用網路閘道節點彼此獨立。 當您佈建多個專用網路閘道節點時,任何單一節點都可以路由傳送任何指定的要求。 此外,每個節點都會有與其他節點不同的整合式快取。 每個節點內的快取資料取決於最近透過該特定節點寫入或讀取的資料。 即使某個節點上快取了某個項目或查詢,其他節點也不一定會快取相同的項目或查詢。
在進行開發時,建議您從一個節點開始,但在進入生產時,則請佈建三個以上的節點以提供高可用性。 瞭解如何佈建具有整合式快取的專用網路閘道叢集。 佈建多個專用網路閘道節點可讓專用網路閘道叢集在其中一個專用網路閘道節點無法使用時,仍可繼續路由傳送要求並提供快取資料。
專用閘道提供以下大小。 整合式快取會使用大約 50% 的記憶體,剩餘的則保留給中繼資料以及將要求路由傳送至後端分割區。
SKU 名稱 | vCPU | 記憶體 |
---|---|---|
D4s | 4 | 16 GB |
D8s | 8 | 32 GB |
D16s | 16 | 64 GB |
提示
建立之後,您可以新增或移除專用閘道節點,但無法修改節點的大小。 若要變更專用閘道節點的大小,您可以取消佈建叢集,並以不同的大小重新佈建。 除非您將應用程式中的端點變更為在重新佈建期間使用標準網關,否則這會導致短暫的停機時間。
有許多不同的方式可供佈建專用網路閘道:
- 使用 Azure 入口網站來佈建專用網路閘道
- 使用 Azure Cosmos DB 的 REST API
- Azure CLI
- ARM 範本
- 注意:您無法使用ARM樣本取消布建專用閘道
注意
按照要求,您無法在具有可用性區域的 Azure Cosmos DB 帳戶中佈建專用網路閘道。 如需詳細資訊,請洽詢 cosmoscachefeedback@microsoft.com。
多區域帳戶中的專用網路閘道
當您在多區域帳戶中佈建專用網路閘道叢集時,每個區域都會佈建相同的專用網路閘道叢集。 例如,設想美國東部和北歐的 Azure Cosmos DB 帳戶。 如果您在此帳戶中佈建具有兩個 D8 節點的專用網路閘道叢集,則您總共會有四個 D8 節點,兩個在美國東部,兩個在北歐。 您不需要在每個區域中明確設定專用閘道,且專用閘道端點維持不變。 用於執行容錯移轉的最佳做法也沒變。
和叢集內的節點一樣,各區域的專用網路閘道節點都是獨立節點。 根據最近對該區域的讀取或寫入,每個區域中的快取數據可能不同。
限制
只有 API for NoSQL 帳戶支援專用閘道。
下一步
請參閱下列文章,以深入瞭解專用網路閘道的使用方式:
- 整合式快取
- 設定整合式快取
- 整合式快取常見問題
- 正在嘗試為遷移至 Azure Cosmos DB 進行容量規劃嗎? 您可以使用現有資料庫叢集的相關資訊進行容量規劃。
- 如果您知道現有資料庫叢集中的虛擬核心和伺服器數目,請參閱使用虛擬核心或 vCPU 來估計要求單位
- 如果您知道目前資料庫工作負載的一般要求率,請參閱使用 Azure Cosmos DB 容量規劃工具來估計要求單位