Automatyczne skalowanie w przestrzeniach nazw Azure Event Grid (wersja zapoznawcza)

Przestrzenie nazw Azure Event Grid wykorzystują jednostki przepustowości (TU) do definiowania pojemności dla Twoich obciążeń. Autoscale to wbudowana funkcja, która automatycznie dostosowuje liczbę TU przypisanych do przestrzeni nazw w odpowiedzi na ruch zdarzeń w czasie rzeczywistym oraz wykorzystanie zasobów. Możesz włączyć Autoscale w dowolnej przestrzeni nazw Event Grid na poziomie Standard.

Po włączeniu Autoscale, Event Grid nieustannie monitoruje kluczowe wskaźniki wydajności, takie jak szybkość wejścia zdarzeń, szybkość wyjścia zdarzeń, liczba połączeń MQTT oraz przepustowość wiadomości. Gdy wykorzystanie przekracza określone progi, Event Grid skaluje liczbę TU w górę lub w dół w ramach minimalnych i maksymalnych limitów, które konfigurujesz. Takie zachowanie pomaga utrzymać stabilną wydajność podczas skoków ruchu i zmniejsza koszty w okresach o niskiej aktywności, bez konieczności ręcznej interwencji.

Note

Autoscale jest dostępny tylko dla przestrzeni nazw Event Grid w poziomie Standard. Aby uzyskać więcej informacji o poziomach, zobacz Wybierz odpowiedni poziom siatki zdarzeń dla swojego rozwiązania.

Dlaczego warto używać Autoscale

Obciążenia zdarzeniowe i IoT są często nieprzewidywalne. Liczba połączeń, przepustowość wiadomości i tempo dostarczania zdarzeń mogą się znacząco wahać w zależności od aktywności biznesowej, pory dnia lub zewnętrznych czynników. Przydzielanie zasobów o stałej pojemności może prowadzić do dwóch problemów:

  • Niedostateczne udostępnianie: Gdy ruch przekracza przydzieloną pojemność, zdarzenia mogą zostać spowolnione, co prowadzi do zwiększonego opóźnienia lub utracenia komunikatów.
  • Nadmierne udostępnianie: Gdy ruch jest niski, płacisz za pojemność, której nie używasz.

Autoscale rozwiązuje oba problemy, automatycznie dostosowując odpowiednią pojemność przestrzeni nazw. Jest szczególnie cenny dla:

  • Obciążenia MQTT , gdzie rozprzestrzenianie się wiadomości i wzrost subskrypcji mogą szybko się zmieniać, gdy urządzenia łączą się i rozłączają.
  • Obciążenia brokera zdarzeń ze skokowymi wzorcami ruchu przychodzącego, takimi jak okresowe przesyłanie wsadowe lub skoki wywołane zapotrzebowaniem.
  • Aplikacje wielodzierżawcze, w których liczba subskrybentów i wolumen dostaw różnią się między dzierżawcami.

Włączanie autoskalowania

Autoscale to w pełni zarządzane doświadczenie. Włączasz ją w przestrzeni nazw i określasz minimalną oraz maksymalną liczbę TU. Event Grid zajmuje się wszystkimi decyzjami dotyczącymi skalowania wewnętrznie. Nie musisz konfigurować indywidualnych reguł skalowania, progów czy okresów odnowienia.

Możesz włączyć autoskalowanie, korzystając z portalu Azure, szablonu Azure Resource Manager lub REST API. Więcej informacji można znaleźć w artykule Włącz autoskalowanie dla przestrzeni nazw Event Grid.

Gdy włączasz autoscale, Event Grid nieustannie ocenia wykorzystanie we wszystkich kategoriach skalowania. System agreguje dane o wykorzystaniu w analizowanym okresie wstecznym i porównuje najwyższy poziom wykorzystania w poszczególnych kategoriach z wewnętrznymi progami. Na podstawie tej oceny Event Grid automatycznie zwiększa lub zmniejsza TU w ramach skonfigurowanych granic.

Kategorie skalowania i pojemność na jednostkę TU

Poniższa tabela przedstawia pojemność zapewnianą przez każdą jednostkę przepustową. Autoscale ocenia wykorzystanie jako wartość procentową tych limitów zarówno dla obciążeń brokera zdarzeń, jak i MQTT.

Kategoria Pojemność na TU
Napływ zdarzeń (liczba) 1000 zdarzeń/sekundę
Napływ zdarzeń (przepustowość) 1 MB/sekunda
Wyjście z wydarzenia (liczenie) 2 000 zdarzeń na sekundę
Wyjście zdarzeń (przepustowość) 2 MB/sekundę
Przychodzące publikacje MQTT (liczba) 1000 wiadomości/sekundę
Publikowanie przychodzących komunikatów MQTT (przepustowość) 1 MB/sekunda
Wychodzące publikacje MQTT (liczba) 1000 wiadomości/sekundę
MQTT publikowanie wychodzące (przepustowość) 1 MB/sekunda
Zasoby zarejestrowanego klienta MQTT 10 000 klientów
Aktywne połączenia MQTT 10 000 połączeń
MQTT zachowuje liczbę wiadomości 100 wiadomości/s
Liczba połączeń MQTT 200 próśb na sekundę

Pełną listę limitów przestrzeni nazw można znaleźć w artykule Azure Event Grid quotas and limits.

Działanie skalowania i progi

Zachowanie skalowania w górę

Operacja skalowania rozpoczyna się, gdy jakakolwiek pojedyncza kategoria przekroczy maksymalny próg wykorzystania w oknie retrospektywy. Gdy rozpoczyna się skalowanie, Event Grid oblicza liczbę TU potrzebnych do normalizacji wykorzystania. Wzrost TU jest ograniczony przez maksymalny limit TU skonfigurowany w przestrzeni nazw.

Zachowanie zmniejszania zasobów

Operacja skalowania rozpoczyna się, gdy wszystkie kategorie konsekwentnie spadają poniżej minimalnego progu wykorzystania. Gdy Event Grid wyzwala skalowanie w dół, oblicza liczbę jednostek TU potrzebnych do znormalizowania wykorzystania. Spadek TU odpowiada minimalnemu limitowi TU, który ustaliłeś.

Okresy odnowienia

Po zakończeniu operacji skalowania obowiązuje okres oczekiwania, zanim będzie można ponownie skalować. Okres odnowienia uniemożliwia szybkie przełączanie się między akcjami skalowania i zmniejszania, dając systemowi czas na stabilizację przy nowej pojemności.

Przykład skalowania

Rozważmy przestrzeń nazw obecnie przydzieloną do 12 jednostek TU, dla której zaobserwowano następujący ruch w okresie analizy wstecznej:

  • Napływ zdarzeń: 11 000 zdarzeń/s
  • Przepustowość wejścia zdarzeń: 3,6 MB/sekundę

Krok 1: Oblicz wykorzystanie w poszczególnych kategoriach

Kategoria Kalkulacja Wykorzystanie
Napływ zdarzeń (liczba) 11 000 / (12 x 1 000) 91.7%
Napływ zdarzeń (przepustowość) 3,6 / (12 x 1) 30,0%

Krok 2: Określ najwyższe wykorzystanie

Maksymalne wykorzystanie we wszystkich kategoriach wynosi 91,7% (liczba zdarzeń przychodzących).

Krok 3: Uruchom operację skalowania w górę

Ponieważ 91,7% przekracza próg wykorzystania dla skalowania w górę, uruchamiana jest operacja skalowania w górę.

Krok 4: Zastosuj ograniczenia przestrzeni nazw

Jeśli maksimum przestrzeni nazw jest ustawione na 15 TU, wartość końcowa zostaje ograniczona do 15 TU.

Jeśli operacja skalowania wymaga podniesienia liczby TU do 15, ale maksymalna liczba TU w przestrzeni nazw jest ustawiona na 20, ostateczna liczba TU po operacji skalowania wynosi 15 TU.

Wynik:

Przestrzeń nazw skaluje się od 12 do 15 TU.

Wskazówka

W kolejnych cyklach oceny system ponownie ocenia wykorzystanie na poziomie 15 TU. Proces ten trwa aż do momentu, gdy wykorzystanie spadnie poniżej progu lub osiągnie się maksymalny limit TU.

Limity i zagadnienia

  • Autoscale jest dostępny tylko w standardowym poziomie.
  • Maksymalna liczba TU w przestrzeni nazw wynosi 40. Aby poprosić o zwiększenie liczby powyżej 40 TU, skontaktuj się z pomocą techniczną Microsoft.
  • Minimalna wartość TU dla Autoscale to 1.
  • Autoscale ocenia wszystkie kategorie razem. Jeśli tylko jedna kategoria ma wysokie wykorzystanie, nadal wywoływane jest skalowanie. Zaplanuj minimalne i maksymalne wartości TU, aby sprostać najwyższemu oczekiwanemu zapotrzebowaniu we wszystkich kategoriach.
  • W czasie okresu odnowienia nie wykonuje się żadnych operacji skalowania, nawet jeśli wykorzystanie zmieni się. Zrób minimalny przydział TU, aby poradzić sobie z oczekiwanym obciążeniem bazowym bez konieczności natychmiastowego skalowania.
  • Operacje skalowania wykonywane są asynchronicznie. Może być krótki okres między podjęciem decyzji o skalowaniu a wejściem w życie nowej przepustowości.