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
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.