Omówienie dedykowanej bramy usługi Azure Cosmos DB

DOTYCZY: NoSQL

Dedykowana brama to obliczenia po stronie serwera, które są frontonem dla konta usługi Azure Cosmos DB. Po nawiązaniu połączenia z dedykowaną bramą kieruje żądania i buforuje dane. Podobnie jak aprowizowana przepływność, dedykowana brama jest rozliczana co godzinę.

Omówienie

Możesz aprowizować dedykowaną bramę, aby zwiększyć wydajność na dużą skalę. Najczęstszą przyczyną aprowizacji dedykowanej bramy jest buforowanie. Podczas aprowizowania dedykowanej bramy zintegrowana pamięć podręczna jest automatycznie konfigurowana w ramach dedykowanej bramy. Odczyty punktów i zapytania, które trafiają do zintegrowanej pamięci podręcznej, nie używają żadnych jednostek RU. Aprowizowanie dedykowanej bramy z zintegrowaną pamięcią podręczną może pomóc w obniżeniu kosztów odczytu obciążeń w usłudze Azure Cosmos DB.

Dedykowana brama jest wbudowana w usługę Azure Cosmos DB. Podczas aprowizowania dedykowanej bramy masz w pełni zarządzany węzeł, który kieruje żądania do partycji zaplecza. 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 błędy pamięci podręcznej będą widzieć ulepszenia opóźnień podczas porównywania dedykowanej bramy i bramy standardowej.

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 na temat 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 najpierw połączy się z węzłem frontonu, który obsługuje kierowanie żądania do odpowiednich węzłów zaplecza. Ponieważ tryb bramy obejmuje dodatkowy przeskok sieciowy, możesz obserwować 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 z 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. Wielu klientów korzysta z bramy standardowej, ponieważ zasoby obliczeniowe używane przez poszczególnych klientów są małe.
  • Dedykowana brama — w tej bramie zaplecze i brama mają dedykowaną pojemność. Zintegrowana pamięć podręczna wymaga dedykowanej bramy, ponieważ wymaga znacznego użycia procesora CPU i pamięci specyficznej 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 dostarczony 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 będzie obsługiwać 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 bramy można aprowizować w interfejsie API dla kont NoSQL. Dedykowany klaster bramy może domyślnie mieć maksymalnie pięć węzłów i w dowolnym momencie można dodawać lub usuwać węzły. Wszystkie węzły dedykowanej bramy w ramach konta współdzielą te same parametry połączenia.

Węzły dedykowanej bramy są niezależne od siebie. Podczas aprowizowania wielu dedykowanych węzłów bramy każdy pojedynczy węzeł może kierować 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, nie musi być buforowane w innych.

W przypadku programowania zalecamy rozpoczęcie od jednego węzła, ale w przypadku środowiska produkcyjnego należy aprowizować co najmniej trzy węzły w celu zapewnienia wysokiej dostępności. Dowiedz się, jak aprowizować dedykowany klaster bramy za pomocą zintegrowanej pamięci podręcznej. 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 jeśli jeden z dedykowanych węzłów bramy jest niedostępny.

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

Nazwa jednostki SKU Procesor wirtualny Pamięć
D4s 4 16 GB
D8s 8 32 GB
D16s 16 64 GB

Porada

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 czas przestoju, chyba że zmienisz parametry połączenia w aplikacji, aby korzystały ze standardowej bramy podczas ponownego aprowizowania.

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

Uwaga

Możesz aprowizować dedykowaną bramę na kontach usługi Azure Cosmos DB przy użyciu stref dostępności według żądania. Skontaktuj się z, aby cosmoscachefeedback@microsoft.com uzyskać więcej informacji.

Dedykowana brama na kontach z wieloma regionami

Podczas aprowizowania dedykowanego klastra bramy na kontach z wieloma regionami identyczne dedykowane klastry bramy są aprowidowane w każdym regionie. Rozważmy na przykład konto usługi Azure Cosmos DB w regionach Wschodnie stany USA i Europa Północna. Jeśli aprowizujesz dedykowany klaster bramy z dwoma węzłami D8 na tym koncie, będziesz mieć łącznie cztery węzły D8 — dwa w regionie Wschodnie stany USA i dwa w regionie Europa Północna. Nie musisz jawnie konfigurować dedykowanych bram w każdym regionie, a parametry połączenia pozostają takie same. Nie ma również żadnych zmian w najlepszych rozwiązaniach dotyczących przeprowadzania pracy w trybie failover.

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

Ograniczenia

Dedykowana brama ma następujące ograniczenia:

  • Dedykowane bramy są obsługiwane tylko w przypadku interfejsu API dla kont NoSQL
  • Nie można użyć kontroli dostępu opartej na rolach (RBAC) do uwierzytelniania żądań płaszczyzny danych kierowanych przez dedykowaną bramę

Następne kroki

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