Wybieranie usługi Azure Event Hubs

Ukończone

Istnieją pewne aplikacje, które tworzą ogromną liczbę zdarzeń z niemal dowolnej liczby źródeł. Do opisu takich sytuacji często stosuje się termin „dane big data”. Ich obsługa wymaga unikatowej infrastruktury.

Załóżmy, że pracujesz dla firmy Contoso Aircraft Engines. Silniki samolotowe wytwarzane przez Twojego pracodawcę mają setki czujników. Zanim samolot będzie mógł wzbijać się w powietrze każdego ranka, jego silniki są podłączane do uprzęży testowej i uruchamiane z różnymi prędkościami. Ponadto dane zebrane podczas lotu są przesyłane strumieniowo po podłączeniu samolotu do urządzeń naziemnych.

Chcesz użyć historycznych danych z czujników, aby odkryć wzorce w odczytach, które wskazują na to, że prawdopodobnie wkrótce dojdzie do awarii silnika. Chcesz porównać odczyty z czujników w czasie rzeczywistym z tymi wzorcami dotyczącymi awarii. Następnie możesz ostrzegać użytkowników w czasie zbliżonym do rzeczywistego, jeśli silnik zacznie zwracać odczyty budzące obawy.

Co to jest usługa Azure Event Hubs?

Usługa Event Hubs jest elementem pośredniczącym w przypadku wzorca komunikacji publikowanie-subskrypcja. W przeciwieństwie do usługi Event Grid jest ona jednak zoptymalizowana pod kątem bardzo wysokiej przepływności, dużej liczby wydawców, zabezpieczeń i odporności.

Usługa Event Grid doskonale pasuje do wzorca publikowania-subskrybowania, ponieważ po prostu zarządza subskrypcjami i kieruje komunikację do tych subskrybentów, usługa Event Hubs wykonuje sporo dodatkowych usług. Te dodatkowe usługi sprawiają, że wygląda bardziej jak magistrala usług lub kolejka komunikatów niż prosty nadawca zdarzeń.

Partycje

Gdy usługa Event Hubs odbiera komunikaty, dzieli je na partycje. Partycje stanowią bufory, w których zapisuje się komunikację. Ze względu na bufory zdarzeń zdarzenia nie są efemeryczne, a zdarzenie nie jest pomijane tylko dlatego, że subskrybent jest zajęty, a nawet w trybie offline. Subskrybent zawsze może używać buforu do "nadrobienia zaległości". Domyślnie zdarzenia pozostają w buforze przez 24 godziny przed ich automatycznym wygaśnięciem. Bufory są zwane partycjami, ponieważ dane są dzielone między nimi. Każda partycja ma oddzielny zestaw subskrybentów.

Capture

Usługa Event Hubs może natychmiast wysyłać wszystkie zdarzenia do usługi Azure Data Lake lub Azure Blob Storage, aby niedrogo je utrwalić.

Uwierzytelnianie

Wszyscy wydawcy są uwierzytelniani i wystawia się dla nich token. Oznacza to, że usługa Event Hubs może akceptować zdarzenia z urządzeń zewnętrznych i aplikacji mobilnych bez obaw, że fałszywe dane od żartujących mogą zrujnować analizę.

Korzystanie z usługi Event Hubs

Usługa Event Hub obsługuje przetwarzanie potokowe strumieni zdarzeń do innych usług platformy Azure. Na przykład użycie jej wraz z usługą Azure Stream Analytics umożliwia przeprowadzanie złożonej analizy danych w czasie zbliżonym do rzeczywistego, z możliwością korelowania wielu zdarzeń oraz wyszukiwania wzorców. W tym przypadku usługa Stream Analytics będzie uznawana za subskrybenta.

Dla naszych silników samolotowych skonfigurujemy architekturę, aby usługa Event Hubs uwierzytelniała komunikację z silnikami. Następnie użyjemy funkcji przechwytywania, aby zapisać wszystkie dane w usłudze Data Lake. Później możemy użyć wszystkich tych danych do ponownego trenowania i ulepszania modeli uczenia maszynowego. Na koniec subskrybenci usługi Stream Analytics odbierają strumienie zdarzeń. Usługa Stream Analytics używa naszego modelu uczenia maszynowego do wyszukiwania wzorców w danych czujników, które mogą wskazywać na problemy.

Ponieważ mamy kilka partycji, a każdy silnik wysyła wszystkie dane tylko do jednej partycji, każde wystąpienie subskrybenta usługi Stream Analytics musi sobie poradzić tylko z podzbiorem wszystkich zebranych danych. Nie musi filtrować i korelować wszystkich elementów.

Którą usługę mam wybrać?

Podobnie jak w przypadku wyboru kolejki, wybór między tymi dwiema usługami dostarczania zdarzeń może na początku wydawać się trudny. Obie usługi obsługują semantykę Co najmniej raz.

Wybierz usługę Event Hubs w następujących przypadkach:

  • Potrzebujesz obsługi uwierzytelniania wielu wydawców.
  • Chcesz zapisać strumień zdarzeń w usłudze Data Lake lub Blob Storage.
  • Chcesz agregować lub analizować strumień zdarzeń.
  • Potrzebujesz niezawodnej obsługi komunikatów lub odporności.

W przeciwnym razie, jeśli potrzebujesz prostej infrastruktury publikowania-subskrybowania zdarzeń z zaufanymi wydawcami (na przykład własnym serwerem internetowym), należy wybrać usługę Event Grid.

Usługa Event Hubs umożliwia tworzenie potoku danych big data, który może przetwarzać miliony zdarzeń na sekundę z małymi opóźnieniami. Może obsługiwać dane z współbieżnych źródeł i kierować je do różnych infrastruktur przetwarzania strumieniowego i usług analitycznych. Umożliwia przetwarzanie w czasie rzeczywistym i obsługuje powtarzane ponowne odtwarzanie przechowywanych nieprzetworzonych danych.