Udostępnij przez


Omówienie dedykowanej bramy usługi Azure Cosmos DB

Dedykowana brama to serwerowa jednostka obliczeniowa, która działa jako front-end dla konta usługi Azure Cosmos DB. Podczas nawiązywania połączenia z dedykowaną bramą, brama jednocześnie kieruje żądaniami i buforuje dane. Podobnie jak zarezerwowana przepustowość, dedykowana brama jest rozliczana co godzinę.

Omówienie

Możesz aprowizować dedykowaną bramę, aby zwiększyć wydajność na dużą skalę. Najczęstszym powodem, dla którego chciałbyś udostępnić dedykowaną bramę, jest buforowanie. Podczas aprowizowania dedykowanej bramy, automatycznie konfigurowana jest zintegrowana pamięć podręczna w jej ramach. Odczyty punktów i zapytania, które trafią do zintegrowanej pamięci podręcznej, nie zużywają jednostek RU. Aprowizowanie dedykowanej bramy z zintegrowanym cache może pomóc zmniejszyć koszty obciążeń z dużą liczbą operacji odczytu w usłudze Azure Cosmos DB.

Brama dedykowana jest wbudowana w usługę Azure Cosmos DB. Podczas wdrażania dedykowanej bramy masz w pełni zarządzany węzeł, który kieruje żądania do partycji zapleczowych. Nawiązywanie połączenia z usługą Azure Cosmos DB za pomocą dedykowanej bramy zapewnia mniejsze i bardziej przewidywalne opóźnienie niż nawiązywanie połączenia z usługą Azure Cosmos DB przy użyciu bramy standardowej. Nawet w przypadku nietrafień pamięci podręcznej obserwuje się poprawę opóźnień podczas porównywania dedykowanej bramy z bramą standardową.

Aby aplikacja korzystała z dedykowanej bramy, wymagane są tylko minimalne zmiany kodu. Zarówno nowe, jak i istniejące konta usługi Azure Cosmos DB mogą aprowizować dedykowaną bramę w celu zwiększenia wydajności odczytu.

Uwaga

Czy masz jakieś opinie dotyczące dedykowanej bramy? Chcemy to usłyszeć! Możesz podzielić się opiniami bezpośrednio z zespołem inżynierów usługi Azure Cosmos DB: cosmoscachefeedback@microsoft.com

Tryby połączenia

Istnieją dwa tryby łączności dla usługi Azure Cosmos DB, trybu bezpośredniego i trybu bramy. Tryb bramy umożliwia nawiązanie połączenia z bramą standardową lub dedykowaną bramą w zależności od skonfigurowanego punktu końcowego.

Diagram przedstawiający sposób działania trybów łączności usługi Azure Cosmos DB.

Nawiązywanie połączenia z usługą Azure Cosmos DB przy użyciu trybu bezpośredniego

Po nawiązaniu połączenia z usługą Azure Cosmos DB przy użyciu trybu bezpośredniego aplikacja łączy się bezpośrednio z zapleczem usługi Azure Cosmos DB. Nawet jeśli masz wiele partycji fizycznych, routing żądań jest obsługiwany całkowicie po stronie klienta. Tryb bezpośredni oferuje małe opóźnienia, ponieważ aplikacja może komunikować się bezpośrednio z zapleczem usługi Azure Cosmos DB i nie wymaga pośredniego przeskoku sieciowego. Jeśli zdecydujesz się nawiązać połączenie z trybem bezpośrednim, żądania nie będą używać dedykowanej bramy ani zintegrowanej pamięci podręcznej.

Nawiązywanie połączenia z usługą Azure Cosmos DB przy użyciu trybu bramy

Jeśli łączysz się z usługą Azure Cosmos DB przy użyciu trybu bramy, aplikacja łączy się najpierw z węzłem front-end, który obsługuje przekierowywanie żądania do odpowiednich węzłów back-end. Ponieważ tryb bramy obejmuje dodatkowy przeskok sieciowy, może wystąpić nieco większe opóźnienie w porównaniu z trybem bezpośrednim.

Podczas nawiązywania połączenia z usługą Azure Cosmos DB w trybie bramy można nawiązać połączenie jedną z następujących opcji:

  • Brama Standardowa — chociaż zaplecze, które obejmuje aprowizowaną przepływność i magazyn, ma dedykowaną pojemność na kontener, brama standardowa jest współdzielona między wieloma kontami usługi Azure Cosmos DB. Dla wielu klientów praktyczne jest współdzielenie standardowej bramy, ponieważ zasoby obliczeniowe zużywane przez poszczególnych klientów są niewielkie.
  • Dedykowana brama — w tej bramie zaplecze i brama mają dedykowaną pojemność. Zintegrowana pamięć podręczna wymaga dedykowanej bramy, ponieważ potrzebuje znacznych zasobów procesora i pamięci, co jest specyficzne dla konta usługi Azure Cosmos DB.

Aby korzystać ze zintegrowanej pamięci podręcznej, musisz nawiązać połączenie z usługą Azure Cosmos DB przy użyciu dedykowanej bramy. Dedykowana brama ma inny punkt końcowy niż standardowy dostarczany z kontem usługi Azure Cosmos DB, ale żądania są kierowane w taki sam sposób. Po nawiązaniu połączenia z dedykowanym punktem końcowym bramy aplikacja wysyła żądanie do dedykowanej bramy, która następnie kieruje żądanie do różnych węzłów zaplecza. Jeśli to możliwe, zintegrowana pamięć podręczna obsługuje wynik.

Diagram połączenia trybu bramy z dedykowaną bramą:

Diagram przedstawiający sposób działania dedykowanej bramy usługi Azure Cosmos DB.

Aprowizowanie dedykowanej bramy

Dedykowany klaster bramkowy może być przygotowany w interfejsie API dla kont NoSQL. Domyślnie dedykowany klaster bramy może mieć maksymalnie pięć węzłów i w dowolnym momencie można dodawać lub usuwać węzły. Wszystkie dedykowane węzły bramy w ramach konta współużytkują ten sam punkt końcowy bramy.

Dedykowane węzły bramy są niezależne od siebie. Podczas udostępniania wielu dedykowanych węzłów bramy każdy węzeł może obsługiwać dowolne żądanie. Ponadto każdy węzeł ma oddzielną zintegrowaną pamięć podręczną od innych. Dane buforowane w każdym węźle zależą od danych, które zostały ostatnio zapisane lub odczytane przez ten konkretny węzeł. Jeśli element lub zapytanie jest buforowane w jednym węźle, niekoniecznie jest on buforowany w innych.

W przypadku programowania zalecamy rozpoczęcie od jednego węzła, ale w środowisku produkcyjnym należy aprowizować co najmniej trzy węzły w celu zapewnienia wysokiej dostępności. Dowiedz się, jak skonfigurować dedykowany klaster bramy z zintegrowaną pamięcią podręczną. Aprowizowanie wielu dedykowanych węzłów bramy umożliwia klastrowi dedykowanej bramy dalsze kierowanie żądań i obsługę danych w pamięci podręcznej nawet wtedy, gdy jeden z dedykowanych węzłów bramy jest niedostępny.

Specjalna brama jest dostępna w następujących rozmiarach. Zintegrowana pamięć podręczna używa około 50% pamięci, a reszta jest zarezerwowana dla metadanych i żądań routingu do partycji zaplecza.

Nazwa SKU wCPU Pamięć
D4s 4 16 GB
D8s 8 32 GB
D16s 16 64 GB

Napiwek

Po utworzeniu można dodawać lub usuwać dedykowane węzły bramy, ale nie można modyfikować rozmiaru węzłów. Aby zmienić rozmiar dedykowanych węzłów bramy, można usunąć aprowizację klastra i ponownie aprowizować go w innym rozmiarze. Spowoduje to krótki przestój, chyba że zmienisz endpoint w aplikacji na bramę standardową w trakcie ponownej konfiguracji.

Istnieje wiele różnych sposobów konfigurowania dedykowanej bramy:

Uwaga

Jeśli używasz prywatnych punktów końcowych z kontem usługi Azure Cosmos DB, musisz skonfigurować oddzielny prywatny punkt końcowy dla dedykowanej bramy. Wykonaj kroki, aby utworzyć prywatny punkt końcowy przy użyciu SqlDedicated zasobu docelowego.

Dedykowana brama w kontach z wieloma regionami

Podczas wdrażania dedykowanego klastra bram na kontach z wieloma regionami w każdym regionie są wdrażane identyczne dedykowane klastry bram. Rozważmy na przykład konto usługi Azure Cosmos DB we wschodnich Stanach Zjednoczonych i Europie Północnej. Jeśli skonfigurujesz dedykowany klaster bramy z dwoma węzłami D8 na tym koncie, będziesz mieć łącznie cztery węzły D8 — dwa w Wschodnie USA i dwa w regionie Europa Północna. Nie musisz jawnie konfigurować dedykowanych bram w każdym regionie, a dedykowany punkt końcowy bramy pozostaje taki sam. Nie ma również żadnych zmian w najlepszych praktykach dotyczących przeprowadzania przełączeń awaryjnych.

Podobnie jak węzły w klastrze, w różnych regionach dedykowane węzły bramy są niezależne. Istnieje możliwość, że buforowane dane w każdym regionie różnią się w zależności od ostatnich operacji odczytu lub zapisu w tym regionie.

Ograniczenia

  • Dedykowane bramy są obsługiwane tylko w przypadku interfejsu API dla kont NoSQL.
  • Dedykowana aprowizacja bramy dla kont usługi Azure Cosmos DB ze strefami dostępności jest obecnie dostępna tylko w Wschodnim USA i Europie Północnej.

Następne kroki

Przeczytaj więcej na temat użycia dedykowanej bramy w następujących artykułach: