Share via


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 有兩種連線模式:直接模式和閘道模式。 使用閘道模式時,您可以根據所設端點連線到標準閘道或專用閘道。

Diagram that shows how Azure Cosmos DB connectivity modes work.

使用直接模式連線至 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 帳戶提供的標準閘道端點不同,但要求的傳送路由方式一樣。 當您連線到專用網路閘道端點時,應用程式會傳送要求給專用網路閘道,後者再將要求路由傳送到不同的後端節點。 如果可以,整合式快取會提供結果。

使用專用網路閘道的網路閘道模式連線圖:

Diagram that shows how the Azure Cosmos DB dedicated gateway works.

佈建專用網路閘道

API for NoSQL 帳戶中可佈建專用閘道叢集。 專用閘道叢集預設最多可有五個節點,而且您可以隨時新增或移除節點。 您帳戶內的所有專用網路閘道節點會共用相同的連接字串

專用網路閘道節點彼此獨立。 當您佈建多個專用網路閘道節點時,任何單一節點都可以路由傳送任何指定的要求。 此外,每個節點都會有與其他節點不同的整合式快取。 每個節點內的快取資料取決於最近透過該特定節點寫入或讀取的資料。 即使某個節點上快取了某個項目或查詢,其他節點也不一定會快取相同的項目或查詢。

在進行開發時,建議您從一個節點開始,但在進入生產時,則請佈建三個以上的節點以提供高可用性。 瞭解如何佈建具有整合式快取的專用網路閘道叢集。 佈建多個專用網路閘道節點可讓專用網路閘道叢集在其中一個專用網路閘道節點無法使用時,仍可繼續路由傳送要求並提供快取資料。

專用閘道提供以下大小。 整合式快取會使用大約 50% 的記憶體,剩餘的則保留給中繼資料以及將要求路由傳送至後端分割區。

SKU 名稱 vCPU 記憶體
D4s 4 16 GB
D8s 8 32 GB
D16s 16 64 GB

提示

建立之後,您可以新增或移除專用閘道節點,但無法修改節點的大小。 若要變更專用閘道節點的大小,您可以取消佈建叢集,並以不同的大小重新佈建。 這會導致短暫的停機時間,除非您在重新佈建期間將應用程式中的連接字串變更為使用標準閘道。

有許多不同的方式可供佈建專用網路閘道:

注意

按照要求,您無法在具有可用性區域的 Azure Cosmos DB 帳戶中佈建專用網路閘道。 如需詳細資訊,請洽詢 cosmoscachefeedback@microsoft.com。

多區域帳戶中的專用網路閘道

當您在多區域帳戶中佈建專用網路閘道叢集時,每個區域都會佈建相同的專用網路閘道叢集。 例如,設想美國東部和北歐的 Azure Cosmos DB 帳戶。 如果您在此帳戶中佈建具有兩個 D8 節點的專用網路閘道叢集,則您總共會有四個 D8 節點,兩個在美國東部,兩個在北歐。 您不需要在每個區域中明確設定專用網路閘道,而且您的連接字串會維持不變。 用於執行容錯移轉的最佳做法也沒變。

和叢集內的節點一樣,各區域的專用網路閘道節點都是獨立節點。 每個區域中的快取資料可能會不同,實際情況取決於該區域的最近讀取或寫入。

限制

專用閘道有下列限制:

  • 只有 API for NoSQL 帳戶支援專用閘道
  • 您無法使用角色型存取控制 (RBAC) 來驗證透過專用網路閘道路由傳送的資料平面要求

下一步

請參閱下列文章,以深入瞭解專用網路閘道的使用方式: