Udostępnij za pośrednictwem


Publikowanie i subskrybowanie komunikatów MQTT przy użyciu usługi Azure IoT MQ (wersja zapoznawcza)

Ważne

Usługa Azure IoT Operations Preview — włączona przez usługę Azure Arc jest obecnie dostępna w wersji zapoznawczej. Nie należy używać tego oprogramowania w wersji zapoznawczej w środowiskach produkcyjnych.

Zobacz Dodatkowe warunki użytkowania wersji zapoznawczych platformy Microsoft Azure, aby zapoznać się z postanowieniami prawnymi dotyczącymi funkcji platformy Azure, które są w wersji beta lub wersji zapoznawczej albo w inny sposób nie zostały jeszcze wydane jako ogólnie dostępne.

Usługa Azure IoT MQ (wersja zapoznawcza) oferuje broker MQTT klasy korporacyjnej zgodny ze standardami, który jest skalowalny, wysoce dostępny i natywny dla platformy Kubernetes. Zapewnia płaszczyznę obsługi komunikatów dla usługi Azure IoT Operations Preview, umożliwia dwukierunkową komunikację brzegową/chmurę i obsługuje aplikacje sterowane zdarzeniami na urządzeniach brzegowych.

Zgodność Z MQTT

Usługa IoT MQQ oferuje zgodny ze standardami broker MQTT obsługujący zarówno protokół MQTT v3.1.1, jak i MQTT v5.

Transport telemetrii kolejki komunikatów (MQTT) pojawił się jako franka w protokołach w przestrzeni IoT. Prosty projekt MQTT umożliwia jednemu brokerowi jednoczesne obsługiwanie dziesiątek tysięcy klientów z uproszczonym tworzeniem tematów publikowania i subskrybowania. Wiele urządzeń IoT obsługuje natywnie gotowe do użycia MQTT, a długi ogon protokołów IoT jest racjonalizowany do MQTT przez bramy tłumaczenia podrzędnego.

Usługa IoT MQQ używa protokołu MQTT jako podstawy dla warstwy obsługi komunikatów. Aby uzyskać więcej informacji na temat obsługiwanych funkcji MQTT, zobacz Obsługa funkcji MQTT w wersji zapoznawczej usługi Azure IoT MQ.

Łatwość skalowania i wysoka dostępność

Platforma Kubernetes może skalować obciążenia w poziomie do uruchamiania w wielu wystąpieniach. Ta nadmiarowość oznacza dodatkową pojemność do obsługi żądań i niezawodności w przypadku, gdy każde wystąpienie ulegnie awarii. Platforma Kubernetes ma wbudowane samonaprawiania, a wystąpienia są automatycznie odzyskiwane.

Oprócz tego, że platforma Kubernetes jest technologią elastycznego skalowania, jest również standardem dla metodyki DevOps. Jeśli MQTT jest franca wśród protokołów IoT, Platforma Kubernetes jest franka dla warstwy infrastruktury obliczeniowej. Przyjmując platformę Kubernetes, możesz użyć tego samego potoku ciągłej integracji/ciągłego wdrażania, narzędzi, monitorowania, tworzenia pakietów aplikacji, umiejętności pracowników wszędzie. Wynikiem jest pojedynczy system kompleksowego przetwarzania w chmurze, serwerów lokalnych i mniejszych bram IoT na hali produkcyjnej. Możesz poświęcić mniej czasu na obsługę infrastruktury lub metodyki DevOps i skupić się na swojej firmie.

Usługa Azure IoT MQ koncentruje się na unikatowej wartości natywnej dla płaszczyzny danych, która może zapewnić ekosystemowi Kubernetes, jednocześnie bezproblemowo dopasowując się do niego. Zapewnia ona wysoką wydajność i skalowalną płaszczyznę platformy obsługi komunikatów utworzoną wokół protokołu MQTT oraz bezproblemową integrację z innymi skalowalnymi obciążeniami Kubernetes i platformą Azure.

Zabezpieczenie domyślne

Usługa IoT MQ opiera się na testach bojowych na platformie Azure i natywnych pojęciach dotyczących zabezpieczeń i tożsamości platformy Kubernetes, co czyni je zarówno wysoce bezpiecznymi, jak i użytecznymi. Obsługuje wiele mechanizmów uwierzytelniania w celu zapewnienia elastyczności wraz z szczegółowymi mechanizmami kontroli dostępu aż do poziomu poszczególnych tematów MQTT.

Integracja z usługą Azure Arc

Hybrydowa platforma firmy Microsoft jest zakotwiczona wokół platformy Kubernetes z usługą Azure Arc jako pojedynczą płaszczyzną sterowania. Zapewnia ona płaszczyznę zarządzania, która projektuje istniejące zasoby spoza platformy Azure, środowiska lokalnego lub innych chmur w usłudze Azure Resource Manager. Wynikiem jest pojedyncze okienko sterowania do zarządzania maszynami wirtualnymi, klastrami Kubernetes i bazami danych, które nie działają w centrach danych platformy Azure.

Usługa IoT MQ jest wdrażana jako rozszerzenie usługi Azure Arc dla platformy Kubernetes i może być zarządzana za pośrednictwem pełnego dostawcy zasobów platformy Azure (RP) — microsoft/IoTOperationsMQ. Oznacza to, że można zarządzać nim tak samo jak natywne zasoby w chmurze platformy Azure, takie jak maszyny wirtualne, magazyn itp.

Technologia usługi Azure Arc umożliwia wprowadzanie zmian w usługach IoT MQ uruchomionych w lokalnym klastrze Kubernetes. Opcjonalnie, jeśli wolisz w pełni natywne podejście kubernetes, możesz zarządzać usługą IoT MQ przy użyciu niestandardowych definicji zasobów (CRD) platformy Kubernetes lokalnie lub za pomocą technologii GitOps, takich jak Flux.

Łączniki chmury

W scenariuszu chmury mogą istnieć różne wymagania dotyczące obsługi komunikatów. Na przykład dwukierunkowa ścieżka szybkiej chmury/krawędzi dla danych o wysokim priorytcie lub zasilania pulpitów nawigacyjnych w chmurze w czasie rzeczywistym oraz tańsza ścieżka dla mniej krytycznych czasu danych, które można aktualizować w partiach.

Aby zapewnić elastyczność, usługa Azure IoT MQ udostępnia wbudowane Połączenie platformy Azure do usługi Event Hubs (z punktem końcowym platformy Kafka), możliwości brokera MQTT usługi Event Grid, usługi Microsoft Fabric i usługi Blob Storage. Usługa IoT MQ jest rozszerzalna, dzięki czemu możesz wybrać preferowane rozwiązanie do obsługi komunikatów w chmurze, które współpracuje z rozwiązaniem.

Tworzenie na podstawie usługi Azure Arc umożliwia skonfigurowanie łączników do używania tożsamości zarządzanej platformy Azure do uzyskiwania dostępu do usług w chmurze za pomocą zaawansowanej kontroli dostępu opartej na rolach (RBAC) platformy Azure. Nie jest wymagane ręczne, niezabezpieczone i kłopotliwe zarządzanie poświadczeniami.

Model programowania Dapr

Język Dapr upraszcza instalację wodną między aplikacjami rozproszonymi przez uwidacznianie typowych funkcji aplikacji rozproszonych, takich jak zarządzanie stanem, wywoływanie między usługami i obsługa komunikatów publikowania subskrypcji. Składniki języka Dapr znajdują się pod blokami konstrukcyjnymi i zapewniają konkretną implementację dla każdej możliwości. Możesz skoncentrować się na logice biznesowej i umożliwić usłudze Dapr obsługę szczegółów aplikacji rozproszonych.

Usługa IoT MQ zapewnia podłączane bloki konstrukcyjne publikowania i przechowywania stanów dapr, dzięki czemu tworzenie i wdrażanie aplikacji opartych na zdarzeniach na brzegu jest łatwe i niezależne od technologii.

Architektura

Broker MQTT ma trzy warstwy:

  • Bezstanowa warstwa frontonu, która obsługuje żądania klientów
  • Moduł równoważenia obciążenia, który kieruje żądania i łączy brokera z innymi osobami
  • Stanowa i podzielony na fragmenty warstwa zaplecza, która przechowuje i przetwarza dane

Warstwa zaplecza partycjonuje dane według różnych kluczy, takich jak identyfikator klienta dla sesji klienta i nazwa tematu dla komunikatów tematu. Używa replikacji łańcucha do replikowania danych w ramach każdej partycji. W przypadku danych współużytkowanych przez wszystkie partycje używa on jednego łańcucha obejmującego wszystkie partycje.

Cele architektury to:

  • Odporność na uszkodzenia i izolacja: publikowanie komunikatów będzie kontynuowane, jeśli węzły zaplecza zakończą się niepowodzeniem i uniemożliwiają propagację awarii do pozostałej części systemu
  • Odzyskiwanie po awarii: Automatyczne odzyskiwanie po awarii bez interwencji operatora
  • Brak utraty komunikatów: dostarczanie komunikatów, jeśli co najmniej jeden węzeł frontonu i jeden węzeł zaplecza jest uruchomiony
  • Elastyczne skalowanie: skalowanie w poziomie publikowania i subskrybowania przepływności w celu obsługi wdrożeń brzegowych i w chmurze
  • Spójna wydajność na dużą skalę: ogranicz obciążenie opóźnienia komunikatów z powodu replikacji łańcuchowej
  • Prostota operacyjna: Minimalna zależność od składników zewnętrznych w celu uproszczenia konserwacji i złożoności

Następne kroki

Wdrażanie rozszerzeń usługi Azure IoT Operations Preview w klastrze Kubernetes