Uwaga
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Azure Event Hubs to skalowalna usługa przetwarzania zdarzeń, która pozyskiwa i przetwarza duże ilości zdarzeń i danych z małym opóźnieniem i wysoką niezawodnością. Może odbierać i przetwarzać miliony zdarzeń na sekundę. Dane wysyłane do centrum zdarzeń można przekształcać i przechowywać przy użyciu dowolnego dostawcy analizy w czasie rzeczywistym lub kart wsadowych i magazynowych.
Aby uzyskać więcej informacji na temat korzystania z usługi Event Hubs, zapoznaj się z dokumentacją usługi Azure Event Hubs , aby dowiedzieć się, jak używać usługi Event Hubs do pozyskiwania milionów zdarzeń na sekundę z połączonych urządzeń i aplikacji.
Aby zrozumieć sposoby korzystania z usługi Event Hubs, ułatwiają osiągnięcie doskonałości operacyjnej i niezawodności obciążenia, zapoznaj się z następującymi artykułami:
- Monitorowanie usługi Azure Event Hubs
- Przesyłanie strumieniowe danych diagnostycznych platformy Azure przy użyciu usługi Event Hubs
- Skalowanie za pomocą usługi Event Hubs
Poniższe sekcje dotyczą usługi Azure Event Hubs z perspektywy dobrze zaprojektowanej struktury:
- Uwagi dotyczące projektowania
- Lista kontrolna konfiguracji
- Zalecane opcje konfiguracji
- Artefakty źródłowe
Uwagi dotyczące projektowania
Usługa Azure Event Hubs zapewnia umowę SLA czasu pracy. Aby uzyskać więcej informacji, zapoznaj się z umową SLA dotyczącą usługi Event Hubs.
Lista kontrolna
Czy skonfigurowano usługę Azure Event Hubs z myślą o doskonałości operacyjnej?
- Utwórz odpowiednio zasady SendOnly i ListenOnly dla wydawcy zdarzeń i odbiorcy.
- Gdy używasz zestawu SDK do wysyłania zdarzeń do usługi Event Hubs, upewnij się, że wyjątki zgłaszane przez zasady ponawiania (
EventHubsException
lubOperationCancelledException
) są prawidłowo przechwytywane. - W scenariuszach o wysokiej przepustowości używaj zdarzeń wsadowych.
- Każdy użytkownik może odczytywać zdarzenia z jednej do maksymalnej liczby partycji obsługiwanych przez jednostkę SKU usługi Event Hubs
- Podczas tworzenia nowych aplikacji użyj (
EventProcessorClient
.NET i Java) lubEventHubConsumerClient
(Python i JavaScript) jako zestawu SDK klienta. - W ramach strategii dostępności i odzyskiwania po awarii w całym rozwiązaniu rozważ włączenie opcji odzyskiwania po awarii geograficznej usługi Event Hubs.
- Jeśli rozwiązanie ma dużą liczbę niezależnych wydawców zdarzeń, rozważ użycie wydawców zdarzeń do szczegółowej kontroli dostępu.
- Nie publikuj zdarzeń w określonej partycji.
- W przypadku częstego publikowania zdarzeń należy użyć protokołu AMQP, jeśli jest to możliwe.
- Liczba partycji odzwierciedla stopień równoległości podrzędnej, którą można osiągnąć.
- Upewnij się, że każda aplikacja używa oddzielnej grupy konsumentów i że w każdej grupie konsumentów jest tylko jeden aktywny odbiorca.
- Korzystając z funkcji Przechwytywanie, warto dokładnie przemyśleć konfigurację rozmiaru pliku i przedziału czasu, zwłaszcza przy małej liczbie zdarzeń.
Zalecenia dotyczące konfiguracji
Aby zoptymalizować niezawodność podczas konfigurowania usługi Azure Event Hubs, należy wziąć pod uwagę następujące zalecenia:
Rekomendacja | Opis |
---|---|
Jeśli używasz SDK do wysyłania zdarzeń do Event Hubs, upewnij się, że wyjątki zgłaszane przez politykę ponawiania (EventHubsException lub OperationCancelledException ) są prawidłowo przechwytywane. |
W przypadku korzystania z programu HTTPS upewnij się, że zaimplementowano prawidłowy wzorzec ponawiania prób. |
W scenariuszach o wysokiej przepustowości używaj zdarzeń wsadowych. | Usługa dostarczy tablicę json z wieloma zdarzeniami do subskrybentów, zamiast tablicy z jednym zdarzeniem. Aplikacja zużywana musi przetwarzać te tablice. |
Każdy użytkownik może odczytywać zdarzenia z jednej do maksymalnej liczby partycji obsługiwanych przez jednostkę SKU usługi Event Hubs. | Aby osiągnąć maksymalną skalę po stronie aplikacji zużywanej, każdy odbiorca powinien odczytywać dane z jednej partycji. |
Podczas tworzenia nowych aplikacji użyj ( EventProcessorClient .NET i Java) lub EventHubConsumerClient (Python i JavaScript) jako zestawu SDK klienta. |
EventProcessorHost został wycofany z użycia. |
W ramach strategii dostępności i odzyskiwania po awarii w całym rozwiązaniu rozważ włączenie opcji odzyskiwania po awarii geograficznej usługi Event Hubs. | Ta opcja umożliwia utworzenie pomocniczej przestrzeni nazw w innym regionie. W dowolnym momencie tylko aktywna przestrzeń nazw odbiera komunikaty. Komunikaty i zdarzenia nie są replikowane do regionu pomocniczego. Czas odzyskiwania (RTO) dla regionalnego trybu failover wynosi do 30 minut. Zweryfikuj, czy ten RTO jest zgodny z wymaganiami klienta i pasuje do szerszej strategii dostępności. Jeśli wymagane jest wyższe RTO, rozważ zaimplementowanie wzorca trybu failover po stronie klienta. |
Jeśli rozwiązanie ma dużą liczbę niezależnych wydawców zdarzeń, rozważ użycie Wydawców Zdarzeń do szczegółowej kontroli dostępu. | Wydawcy zdarzeń automatycznie ustawiają klucz partycji na nazwę wydawcy, dlatego ta funkcja powinna być używana tylko wtedy, gdy zdarzenia pochodzą z wszystkich wydawców równomiernie. |
Nie publikuj zdarzeń w określonej partycji. | Jeśli uporządkowanie zdarzeń jest niezbędne, zaimplementuj porządkowanie w dalszej części procesu lub zamiast tego użyj innej usługi komunikatowej. |
W przypadku częstego publikowania zdarzeń należy użyć protokołu AMQP, jeśli jest to możliwe. | Protokół AMQP ma wyższe koszty sieci podczas inicjowania sesji, ale HTTPS wprowadza narzut TLS dla każdego żądania. Protokół AMQP ma wyższą wydajność dla częstych wydawców. |
Liczba partycji odzwierciedla stopień równoległości podrzędnej, którą można osiągnąć. | Aby uzyskać maksymalną przepływność, użyj maksymalnej liczby partycji obsługiwanych przez jednostkę SKU podczas tworzenia centrum zdarzeń. Zwiększenie liczby partycji umożliwia skalowanie współbieżnych jednostek przetwarzania w celu dopasowania ich do partycji, zapewniając optymalną dostępność wysyłania i odbierania. |
W przypadku korzystania z funkcji Przechwytywanie należy dokładnie rozważyć ustawienia przedziału czasowego i rozmiaru pliku, szczególnie w przypadku niskiej liczby zdarzeń. | Usługa Data Lake Gen2 będzie pobierać opłaty za minimalny rozmiar transakcji. Jeśli ustawisz przedział czasu tak niski, że plik nie osiągnął minimalnego rozmiaru, poniesiesz dodatkowy koszt. |
Artefakty źródłowe
Aby znaleźć przestrzenie nazw usługi Event Hubs z podstawową jednostkę SKU, użyj następującego zapytania:
Resources
| where type == 'microsoft.eventhub/namespaces'
| where sku.name == 'Basic'
| project resourceGroup, name, sku.name