Udostępnij za pośrednictwem


Omówienie dedykowanej bramy usługi Azure Cosmos DB

DOTYCZY: NoSQL

Dedykowana brama to obliczenia po stronie serwera, które są frontonem do konta usługi Azure Cosmos DB. Podczas nawiązywania połączenia z dedykowaną bramą zarówno kieruje żądaniami, jak 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 trafią do zintegrowanej pamięci podręcznej, nie używają żadnego z jednostek RU. Aprowizowanie dedykowanej bramy za pomocą zintegrowanej pamięci podręcznej może pomóc w niższych kosztach odczytu 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óźnienia 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 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 nawiąższ połączenie 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 z trybem 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 ona 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 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 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. 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 węzły dedykowanej bramy w ramach konta współużytkuje ten sam parametry połączenia.

Dedykowane węzły bramy są niezależne od siebie. Podczas aprowizowania wielu dedykowanych węzłów bramy każdy 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, 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 aprowizować dedykowany klaster bramy przy użyciu 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 wtedy, gdy 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 reszta jest zarezerwowana dla metadanych i żądań routingu do partycji zaplecza.

Nazwa jednostki SKU Procesor wirtualny 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 czas przestoju, chyba że zmienisz parametry połączenia w aplikacji na użycie bramy standardowej podczas ponownej aprowizacji.

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 w każdym regionie są aprowizowane identyczne klastry bramy dedykowanej. 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 pozostaje taka sama. 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 buforowane dane 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: