Routing zdarzeń IoT

Azure IoT
Azure IoT Hub

W rozwiązaniu Internetu rzeczy (IoT) urządzenia IoT wysyłają zdarzenia (powiadomienia, potwierdzenia, dane telemetryczne) do aplikacji w celu uzyskania szczegółowych informacji. Aplikacje mogą wymagać określonych podzestawów zdarzeń do przetwarzania lub przechowywania w różnych punktach końcowych. Może być również konieczne przekierowanie tych zdarzeń do różnych usług w celu dalszego przetwarzania. W miarę zwiększania skali rozwiązania IoT liczba urządzeń, ilość zdarzeń, różnorodność zdarzeń i różne usługi również się różnią. Do obsługi tego wzorca jest niezbędna elastyczna, skalowalna, spójna i niezawodna metoda kierowania zdarzeń.

Potencjalne przypadki użycia

Punkt sprzedaży detalicznej monitoruje lodówki dla ich sekcji mrożonej żywności:

  • Alert jest wysyłany, gdy temperatura lodówek przekroczy wstępnie określony próg. Regułę routingu można utworzyć przy użyciu reguły progowej w celu wysłania tych określonych zdarzeń do systemu alertów.
  • Zespół ds. nauki o danych tworzy model wykrywania anomalii, aby zidentyfikować problemy z lodówkami przed ich awarią. Reguła routingu komunikatów może wysyłać wszystkie nieprzetworzone dane telemetryczne do konta magazynu specjalnie dla zespołu ds. nauki o danych do użycia na potrzeby trenowania i modelowania.

Ten scenariusz dotyczy branży handlu detalicznego, energii i środowiska.

Architektura

Architecture diagram illustrating use of rules to route events to different Azure services.

Pobierz plik programu Visio z tą architekturą.

Na platformie IoT można tworzyć reguły na potrzeby szczegółowego routingu zdarzeń. Co najmniej jedną regułę można skonfigurować na platformie IoT. Reguły będą stosowane do zdarzeń ruchu przychodzącego i są kierowane do określonych punktów końcowych.

Charakterystyki

Poniżej przedstawiono kilka zagadnień dotyczących korzystania z tego wzorca.

  • Przepływność punktów końcowych: punkty końcowe odbierające zdarzenia muszą mieć możliwość obsługi ruchu przychodzącego zdarzeń wysyłanych za pośrednictwem routingu. Upewnij się, że usługi punktu końcowego mają pojemność pozyskiwania i przechowywania danych do momentu ich wykorzystania.

  • Format zdarzeń: aby routing był skalowalny i elastyczny, zdarzenia powinny mieć wspólny format, aby zapewnić współdziałanie między protokołami.

  • Obsługa zdarzeń: jeśli zdarzenie pasuje do wielu tras wskazujących ten sam punkt końcowy, powinno być dostarczane do tego punktu końcowego tylko raz. Ważne jest również, aby zagwarantować porządkowanie komunikatów w takich sytuacjach.

  • Duplikowanie zdarzeń: w celu obsługi duplikowania komunikatów zalecamy oznaczanie unikatowego identyfikatora we właściwościach aplikacji komunikatu w punkcie pochodzenia, które jest zwykle urządzeniem lub modułem. Usługa korzystająca z komunikatów może następnie obsługiwać zduplikowane komunikaty przy użyciu tego identyfikatora.

  • Trasa powrotu: zdarzenia niezgodne z żadnymi regułami powinny wylądować na trasie powrotnej, aby można je było odpowiednio rozwiązać i żadne zdarzenie nie zostanie utracone.

  • Zdarzenia nie telemetryczne: rozwiązania IoT mają różne typy zdarzeń, takich jak zmiany stanu urządzenia i zdarzenia cyklu życia urządzenia. Trasa zdarzeń powinna mieć możliwość przechwytywania i stosowania reguł do takich zdarzeń niezwiązanych z telemetrią w celu włączenia automatyzacji i monitorowania.

Kiedy należy użyć tego wzorca:

  • Wysyłanie komunikatów telemetrycznych urządzenia, zdarzeń cyklu życia urządzenia lub zdarzeń zmiany bliźniaczej reprezentacji urządzenia do określonych punktów końcowych określonych przez reguły.

  • Filtrowanie zdarzeń przez zastosowanie określonych reguł.

Ten wzorzec nie jest zalecany w przypadku:

  • Routing oparty na złożonej analizie danych szeregów czasowych w czasie rzeczywistym. Na przykład podczas porównywania 15-minutowych średnich danych telemetrycznych. Jeśli wymagana jest analiza danych w czasie rzeczywistym, użyj usługi analizy w czasie rzeczywistym dla danych ścieżki gorącej.

Następne kroki