Wybieranie technologii pozyskiwania komunikatów w czasie rzeczywistym na platformie Azure

Przetwarzanie w czasie rzeczywistym dotyczy strumieni danych przechwytywanych w czasie rzeczywistym i przetwarzanych z minimalnym opóźnieniem. Wiele rozwiązań do przetwarzania w czasie rzeczywistym wymaga magazynu pozyskiwania komunikatów, aby działać jako bufor dla komunikatów oraz obsługiwać przetwarzanie skalowane w poziomie, niezawodne dostarczanie i inne semantyka kolejkowania komunikatów.

Jakie są opcje pozyskiwania komunikatów w czasie rzeczywistym?

Azure Event Hubs

Azure Event Hubs to wysoce skalowalna platforma przesyłania strumieniowego danych i usługa pozyskiwania zdarzeń, która może odbierać i przetwarzać miliony zdarzeń na sekundę. Usługa Event Hubs pozwala przetwarzać i przechowywać zdarzenia, dane lub dane telemetryczne generowane przez rozproszone oprogramowanie i urządzenia. Dane wysłane do centrum zdarzeń mogą zostać przekształcone i zmagazynowane przy użyciu dowolnego dostawcy analityki czasu rzeczywistego lub adapterów przetwarzania wsadowego/magazynowania. Usługa Event Hubs zapewnia możliwości publikowania i subskrybowania z małym opóźnieniem na dużą skalę, co sprawia, że jest to odpowiednie dla scenariuszy danych big data.

Azure IoT Hub

Azure IoT Hub to usługa zarządzana, która umożliwia niezawodną i bezpieczną dwukierunkową komunikację między milionami urządzeń IoT i zapleczem opartym na chmurze.

Funkcje IoT Hub obejmują:

  • Wiele opcji komunikacji między urządzeniami i chmurą i urządzeniami. Te opcje obejmują jednokierunkową obsługę wiadomości, transfer plików i metody żądanie-odpowiedź.
  • Routing komunikatów do innych usług platformy Azure.
  • Magazyn zapytań dla metadanych urządzenia i zsynchronizowanych informacji o stanie.
  • Zabezpieczanie komunikacji i kontroli dostępu przy użyciu kluczy zabezpieczeń poszczególnych urządzeń lub certyfikatów X.509.
  • Monitorowanie łączności urządzeń i zdarzeń zarządzania tożsamościami urządzeń.

Jeśli chodzi o pozyskiwanie komunikatów, IoT Hub jest podobny do usługi Event Hubs. Został on jednak specjalnie zaprojektowany do zarządzania łącznością urządzeń IoT, a nie tylko pozyskiwania komunikatów. Aby uzyskać więcej informacji, zobacz Porównanie Azure IoT Hub i Azure Event Hubs.

Usługa Kafka w usłudze HDInsight

Apache Kafka to rozproszona platforma przesyłania strumieniowego typu open source, która może służyć do tworzenia potoków danych w czasie rzeczywistym i aplikacji przesyłania strumieniowego. Ponadto platforma Kafka oferuje funkcję brokera komunikatów, która działa podobnie do kolejki komunikatów. Pozwala ona publikować i subskrybować w nazwanych strumieniach danych. Jest skalowalny w poziomie, odporny na uszkodzenia i niezwykle szybki. Platforma Kafka w usłudze HDInsight udostępnia platformę Kafka jako zarządzaną, wysoce skalowalną i wysoce dostępną usługę na platformie Azure.

Niektóre typowe przypadki użycia platformy Kafka to:

  • Obsługa komunikatów. Ponieważ obsługuje on wzorzec komunikatów publikowania-subskrybowania, platforma Kafka jest często używana jako broker komunikatów.
  • Śledzenie działań. Ponieważ platforma Kafka udostępnia rejestrowanie rekordów w kolejności, może służyć do śledzenia i ponownego tworzenia działań, takich jak akcje użytkownika w witrynie sieci Web.
  • Agregacja. przetwarzanie strumienia pozwala agregować informacje z różnych strumieni w celu łączenia i centralizowania informacji w formie danych operacyjnych.
  • Przekształcanie. przetwarzanie strumienia umożliwia łączenie i urozmaicanie danych z wielu tematów wejściowych w formie tematów wyjściowych.

Kluczowe kryteria wyboru

Aby zawęzić opcje, zacznij od udzielenia odpowiedzi na następujące pytania:

  • Czy potrzebujesz dwukierunkowej komunikacji między urządzeniami IoT a platformą Azure? Jeśli tak, wybierz pozycję IoT Hub.

  • Czy musisz zarządzać dostępem dla poszczególnych urządzeń i mieć możliwość odwołania dostępu do określonego urządzenia? Jeśli tak, wybierz pozycję IoT Hub.

Macierz możliwości

W poniższych tabelach podsumowano kluczowe różnice w możliwościach.

Możliwość Usługa IoT Hub Event Hubs Usługa Kafka w usłudze HDInsight
Komunikacja z chmurą na urządzenie Tak Nie Nie
Przekazywanie pliku zainicjowanego przez urządzenie Tak Nie Nie
Informacje o stanie urządzenia Bliźniacze reprezentacje urządzeń Nie Nie
Obsługa protokołów MQTT, AMQP, HTTPS 1 AMQP, HTTPS, Kafka Protocol Protokół Kafka
Zabezpieczenia Tożsamość poszczególnych urządzeń; odwołowywalna kontrola dostępu. Zasady dostępu współdzielonego; ograniczone odwołanie za pośrednictwem zasad wydawcy. Uwierzytelnianie przy użyciu sygnatury dostępu współdzielonego; autoryzacja podłączana; integracja z obsługiwanymi zewnętrznymi usługami uwierzytelniania.

[1] Możesz również użyć bramy protokołu Azure IoT jako bramy niestandardowej, aby umożliwić adaptację protokołu dla IoT Hub.

Współautorzy

Ten artykuł jest obsługiwany przez Microsoft. Pierwotnie został napisany przez następujących współautorów.

Główny autor:

Następne kroki