Skalowanie rozwiązań IoT i zarządzanie nimi przy użyciu sygnatur wdrażania

Azure Event Hubs
Azure IoT Hub
Azure Traffic Manager

W tym artykule omówiono strategię oznaczania wdrożenia w celu obsługi skalowania w górę liczby połączonych urządzeń w rozwiązaniu Internetu rzeczy (IoT). W tym artykule opisano również szczegółowo sposób wdrażania urządzeń IoT i aplikacji między sygnaturami wdrażania.

Strategia oznaczania wdrożenia dla rozwiązań IoT jest oparta na wzorcu projektowania sygnatury wdrożenia. Sygnatury wdrożenia to jednostki składające się ze składników heterogenicznych, które obsługują zdefiniowaną populację urządzeń. Sygnaturowanie wdrożenia skaluje w górę liczbę połączonych urządzeń IoT przez replikowanie sygnatur, a nie niezależne skalowanie w górę różnych części rozwiązania.

Korzyści z oznaczania wdrożenia:

  • Umieść i dystrybuuj urządzenia według kryteriów, takich jak zależność geograficzna, cykl życia lub stan wydania.
  • Zawierają wpływ awarii lub degradacji usług na określone sygnatury.
  • Wdróż nowe funkcje, możliwości i zmiany architektury w określonych sygnaturach, które mogą je obsługiwać.
  • Obsługa zarządzania urządzeniami wielopokoleniowymi przez dostosowanie możliwości i usług do określonych populacji urządzeń.
  • Zapewnij model skalowania i kosztów na podstawie sygnatur, aby przewidywać przyszłe wzrosty.

Architektura sygnatur wdrażania IoT

Diagram przedstawiający strategię oznaczania wdrożenia do użycia w usłudze Azure IoT.

Pobierz plik programu Visio z tą architekturą.

Na powyższym diagramie przedstawiono strategię oznaczania wdrożenia dla usługi Azure IoT. To rozwiązanie tworzy sygnatury niepodzielne, które składają się z następujących elementów:

Sygnatury powinny być zawsze zaprojektowane tak, aby obsługiwały jawne pojemności. Aby określić prawidłową liczbę urządzeń do obsługi, rozważ, ile ruchu komunikacyjnego oczekuje się od urządzeń. W tym rozwiązaniu każda sygnatura optymalnie obsługuje zdefiniowaną populację urządzeń z zakresu od 1000 do 1000 000 urządzeń. Wraz ze wzrostem populacji urządzeń dodano wystąpienia sygnatur do wzrostu.

Przenoszenie urządzeń i aplikacji między sygnaturami

Sygnatury wdrożenia są przeznaczone do wdrożenia niepodzielnego, ale czasami trzeba przenieść populacje urządzeń między sygnaturami. Na przykład może być konieczne:

  • Przenoszenie populacji urządzeń z sygnatur testowych do sygnatur produkcyjnych w ramach cyklu wydawania.
  • Przenoszenie urządzeń i użytkowników do innej sygnatury w ramach korygowania awarii w scenariuszu wysokiej dostępności.
  • Równoważenie obciążenia w celu równomiernego dystrybuowania populacji urządzeń między sygnaturami.

Przenoszenie urządzeń między koncentratorami

Jeśli składniki sygnatur obejmują tylko zachowanie urządzenia do chmury, przeniesienie urządzeń między koncentratorami wystarczy, aby zmigrować urządzenia z jednej sygnatury do innej. Usługa Azure IoT Device Provisioning Service (DPS) umożliwia przenoszenie urządzeń między wystąpieniami usługi IoT Hub. Aby używać usługi DPS w strategii oznaczania sygnaturami, zapoznaj się z terminologią i pojęciami dotyczącymi usługi IoT Hub Device Provisioning Service (DPS).

Uwaga

Usługa DPS używa identyfikatorów rejestracji, podczas gdy usługa IoT Hub używa identyfikatorów urządzeń. Te identyfikatory są często tą samą wartością, ale mogą być różne. Podczas wykonywania zapytań dotyczących urządzeń za pomocą interfejsów API usługi DPS lub zarządzania nimi pamiętaj, aby użyć identyfikatorów rejestracji.

Przenoszenie urządzeń i aplikacji między samodzielnymi sygnaturami

Jeśli sygnatury wdrażania obejmują frontony internetowe lub aplikacje interfejsu API komunikujące się za pośrednictwem usługi IoT Hub, te składniki muszą również migrować do nowych centrów, aby kontynuować komunikację z przeniesionymi urządzeniami. Można przenosić całe aplikacje i urządzenia między sygnaturami.

Gdy każda sygnatura obejmuje kompleksową aplikację, usługa Azure Traffic Manager może przenosić ruch z jednej sygnatury do innej. Ta strategia obejmuje tworzenie wielu sygnatur, z których każda zawiera całą aplikację z własnym adresem URL. Całe populacje urządzeń i użytkowników aplikacji przechodzą z jednej sygnatury do innej.

Ta w pełni samodzielna strategia jest następująca:

  • Proste do zaimplementowania.
  • Odpowiednie w ramach strategii wysokiej dostępności.
  • Przydatne w przypadku migrowania urządzeń i użytkowników ze środowisk testowych do środowisk produkcyjnych.

Diagram przedstawiający sposób przenoszenia zestawu urządzeń z jednej sygnatury do innej sygnatury.

Pobierz plik programu Visio z tą architekturą.

Na powyższym diagramie przedstawiono proces przenoszenia zestawu urządzeń z sygnatury 1 do sygnatury 2:

  1. Urządzenia uzyskują punkt końcowy usługi IoT Hub za pośrednictwem usługi DPS, jeśli jest on nieznany lub nie jest już prawidłowy.
  2. Po przeniesieniu urządzeń do sygnatury 2 usługa Traffic Manager wskazuje adres URL aplikacji do wystąpienia aplikacji 2.
  3. Usługa DPS przenosi cały zestaw urządzeń z jednej sygnatury do innej.
  4. Każda sygnatura aplikacji zawiera fronton aplikacji i odwołuje się do centrum IoT Hub odpowiadającego tej sygnaturze.

Przenoszenie urządzeń między sygnaturami za pojedynczą bramą aplikacji

Gdy fronton pojedynczej aplikacji obsługuje wiele sygnatur urządzeń, fronton aplikacji musi dynamicznie aktualizować mapowanie urządzenia do centrum, aby zapewnić komunikację między chmurą a urządzeniem. Aby obsługiwać urządzenia przechodzące do różnych sygnatur i usługi IoT Hubs, bramy mogą używać mechanizmu buforowania na potrzeby mapowania urządzenia na koncentrator. Klienci usługi mogą używać udostępnionej procedury wyszukiwania do dynamicznego wykrywania i migrowania wywołań urządzeń do nowych centrów IoT Hub.

Diagram przedstawiający sposób przenoszenia urządzeń z jednego centrum do drugiego przy użyciu bramy aplikacji.

Pobierz plik programu Visio z tą architekturą.

W tym modelu brama używa pamięci podręcznej do mapowania urządzeń na usługi IoT Hubs i domyślnie do buforowanego punktu końcowego. Jeśli brama otrzyma błąd nie znaleziono urządzenia, używa zestawu SDK usługi DPS do wykonywania zapytań dotyczących rejestracji poszczególnych urządzeń i określenia, które urządzenie jest teraz używane. Następnie brama aktualizuje pamięć podręczną przy użyciu nowego mapowania.

Poniżej przedstawiono kilka zagadnień dotyczących tej strategii:

  • Buforowanie w udostępnionym wyszukiwaniu pozwala uniknąć ponownego negocjowania punktów końcowych w każdym wywołaniu, ale punkt końcowy pamięci podręcznej może zakończyć się niepowodzeniem. Pomocnicza pamięć podręczna lub rezerwowy plan renegocjacji za pomocą usługi DPS może zwiększyć niezawodność rozwiązania.

  • Jeśli rejestracja urządzenia jest w toku, urządzenie nie jest osiągalne. Użyj interfejsu API usługi DPS, takiego jak Pobieranie stanu rejestracji urządzeń, aby uzyskać przypisane urządzenie centrum IoT Hub i jego bieżący stan rejestracji.

  • W przypadku tylko urządzenia urządzenia zostaną odłączone od usługi IoT Hub po przeniesieniu z jednej sygnatury do innej. W przypadku aplikacji do urządzenia błąd występuje, gdy aplikacja próbuje uzyskać dostęp do urządzenia za pośrednictwem usługi IoT Hub.

Współautorzy

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

Główny autor:

Następne kroki