Udostępnij za pośrednictwem


IoT Hub i doskonałość operacyjna

azure IoT Hub to zarządzana usługa hostowana w chmurze, która działa jako centralne centrum komunikatów do komunikacji między aplikacją IoT a dołączonymi urządzeniami. Miliony urządzeń i ich rozwiązań zaplecza można połączyć niezawodnie i bezpiecznie. Prawie każde urządzenie można połączyć z usługą IoT Hub.

Usługa IoT Hub obsługuje monitorowanie, aby ułatwić śledzenie tworzenia urządzeń, połączeń urządzeń i awarii urządzeń.

Usługa IoT Hub obsługuje również następujące wzorce obsługi komunikatów:

  • Telemetria z urządzenia do chmury
  • Przekazywanie plików z urządzeń
  • Metody żądania odpowiedzi w celu kontrolowania urządzeń z chmury

Aby uzyskać więcej informacji na temat usługi IoT Hub, zapoznaj się z tematem Pojęcia dotyczące IoT i usługi Azure IoT Hub.

Aby zrozumieć, jak usługa IoT Hub promuje doskonałość operacyjną, zapoznaj się z następującymi tematami:

Poniższe sekcje dotyczą usługi Azure IoT Hub i doskonałości operacyjnej:

  • Zagadnienia dotyczące projektowania
  • Lista kontrolna konfiguracji
  • Zalecane opcje konfiguracji

Zagadnienia dotyczące projektowania

Aby uzyskać więcej informacji na temat umowy dotyczącej poziomu usług usługi Azure IoT Hub, zapoznaj się z umową SLA dla usługi Azure IoT Hub.

Lista kontrolna

Czy skonfigurowano usługę Azure IoT Hub z myślą o doskonałości operacyjnej?

  • Utwórz drugą usługę IoT Hub w innym regionie i zaimplementuj logikę routingu na urządzeniu.
  • Użyj protokołu AMQP lub MQTT podczas częstego wysyłania zdarzeń.
  • Użyj tylko certyfikatów zweryfikowanych przez główny urząd certyfikacji w środowisku produkcyjnym, jeśli używasz certyfikatów X.509 dla połączenia urządzenia.
  • Aby uzyskać maksymalną przepływność, użyj maksymalnej liczby partycji (32) podczas tworzenia usługi IoT Hub, jeśli planujesz użyć wbudowanego punktu końcowego.
  • W przypadku skalowania zwiększ poziom i przydzielone jednostki IoT Hub zamiast dodawać więcej niż jeden IoT Hub na region.
  • W scenariuszach o wysokiej przepustowości używaj zdarzeń wsadowych.
  • Jeśli potrzebujesz minimalnego możliwego opóźnienia, nie używaj routingu i odczytuj zdarzeń z wbudowanego punktu końcowego.
  • W ramach strategii dostępności i odzyskiwania po awarii w całym rozwiązaniu rozważ użycie opcji odzyskiwania po awarii usługi IoT Hub między regionami.
  • Jeśli używasz zestawu SDK do wysyłania zdarzeń do IoT Hubs, upewnij się, że wyjątki zgłaszane przez politykę ponawiania (EventHubsException lub OperationCancelledException) są prawidłowo przechwytywane.
  • Aby uniknąć przerw w telemetrii z powodu ograniczania przepustowości i w pełni używanego limitu przydziału, rozważ dodanie niestandardowego rozwiązania do automatycznego skalowania.

Zalecenia dotyczące konfiguracji

Podczas konfigurowania usługi Azure IoT Hub należy wziąć pod uwagę następujące zalecenia dotyczące zwiększania doskonałości operacyjnej:

Zalecenie Opis
Skonfiguruj drugi IoT Hub w innym regionie i utwórz logikę routingu na urządzeniu. Te konfiguracje można dodatkowo ulepszyć za pomocą usługi Concierge.
Użyj protokołu AMQP lub MQTT podczas częstego wysyłania zdarzeń. AMQP i MQTT mają wyższe koszty sieci podczas inicjowania sesji, jednak HTTPS wymaga dodatkowych obciążeń związanych z protokołem TLS dla każdego żądania. AMQP i MQTT osiągają wyższą wydajność dla często publikujących.
Użyj tylko certyfikatów zweryfikowanych przez główny urząd certyfikacji w środowisku produkcyjnym, jeśli używasz certyfikatów X.509 dla połączenia urządzenia. Upewnij się, że istnieją procesy aktualizacji certyfikatu przed ich wygaśnięciem.
Aby uzyskać maksymalną przepływność, użyj maksymalnej liczby partycji (32) podczas tworzenia usługi IoT Hub, jeśli planujesz użyć wbudowanego punktu końcowego. Liczba partycji urządzenie-chmura dla punktu końcowego zgodnego z centrum zdarzeń odzwierciedla stopień równoległości podrzędnej, którą można osiągnąć. Umożliwi to skalowanie w górę do 32 współbieżnych jednostek przetwarzania i zapewni najwyższą dostępność wysyłania i odbierania. Nie można zmienić tej liczby po utworzeniu.
W przypadku skalowania zwiększ warstwę i przydzielone jednostki usługi IoT Hub zamiast dodawać więcej niż jedną usługę IoT Hub na region. Dodanie więcej niż jednego centrum IoT Na region nie zapewnia dodatkowej odporności, ponieważ wszystkie centra mogą działać w tym samym klastrze bazowym.
W scenariuszach o wysokiej przepływności użyj zdarzeń wsadowych. Usługa dostarczy odbiorcom tablicę zawierającą wiele zdarzeń zamiast jednej z jednym zdarzeniem. Aplikacja zużywana musi przetwarzać te tablice.
Jeśli potrzebujesz minimalnego możliwego opóźnienia, nie używaj routingu i odczytuj zdarzeń z wbudowanego punktu końcowego. W przypadku korzystania z routingu komunikatów w usłudze IoT Hub opóźnienie dostarczania komunikatów zwiększa się. Średnio opóźnienie nie powinno przekraczać 500 ms, ale nie ma żadnej gwarancji dla opóźnienia dostarczania.
W ramach strategii dostępności i odzyskiwania po awarii w całym rozwiązaniu rozważ użycie opcjiodzyskiwania po awarii między regionami dla IoT Hub . Ta opcja spowoduje przeniesienie punktu końcowego usługi IoT Hub do sparowanego regionu świadczenia usługi Azure. Tylko rejestr urządzeń jest replikowany. Zdarzenia nie są replikowane w regionie wtórnym. Czas odzyskiwania (RTO) dla procedury failover zainicjowanej przez klienta wynosi od 10 minut do kilku godzin. W przypadku failover zainicjowanego przez firmę Microsoft, RTO wynosi 2-26 godzin. Proszę się upewnić, że RTZ jest zgodny z wymaganiami klienta i pasuje do szerszej strategii dostępności. Jeśli wymagane jest wyższe RTO, rozważ zaimplementowanie wzorca trybu failover po stronie klienta.
W przypadku używania zestawu SDK do wysyłania zdarzeń do usługi IoT Hub upewnij się, że wyjątki zgłaszane przez politykę ponawiania (EventHubsException lub OperationCancelledException) są prawidłowo przechwytywane. W przypadku korzystania z HTTPSzaimplementuj właściwy wzorzec ponawiania prób.