Dela via


IoT Hub och tillförlitlighet

Azure IoT Hub är en hanterad tjänst i molnet som fungerar som en central meddelandehubb för kommunikation mellan ett IoT-program och dess anslutna enheter. Du kan ansluta miljontals enheter och deras serverdelslösningar på ett tillförlitligt och säkert sätt. Nästan vilken enhet som helst kan anslutas till en IoT Hub.

IoT Hub stöder övervakning som hjälper dig att spåra enhetsskapande, enhetsanslutningar och enhetsfel.

IoT Hub har också stöd för följande meddelandemönster:

  • Telemetri från enhet till moln
  • Ladda upp filer från enheter
  • Metoder för att begära svar för att styra dina enheter från molnet

Mer information om IoT Hub finns i IoT Concepts och Azure IoT Hub.

Information om hur IoT Hub stöder en tillförlitlig arbetsbelastning finns i följande avsnitt:

Följande avsnitt är specifika för Azure IoT Hub och tillförlitlighet:

  • Designöverväganden
  • Checklista för konfiguration
  • Rekommenderade konfigurationsalternativ

Designöverväganden

För mer information om serviceavtalet för Azure IoT Hub, se serviceavtal för Azure IoT Hub.

Checklista

Har du konfigurerat Azure IoT Hub med tillförlitlighet i åtanke?

  • Etablera en andra IoT Hub i en annan region och ha routningslogik på enheten.
  • Använd protokollet AMQP eller MQTT när du skickar händelser ofta.
  • Använd endast certifikat som verifierats av en rotcertifikatutfärdare i produktionsmiljön om du använder X.509-certifikat för enhetsanslutningen.
  • För maximalt dataflöde använder du det maximala antalet partitioner (32) när du skapar IoT Hub om du planerar att använda den inbyggda slutpunkten.
  • För skalning ökar du nivån och allokerade IoT Hub-enheter i stället för att lägga till mer än en IoT Hub per region.
  • I scenarier med högt dataflöde använder du batchbaserade händelser.
  • Om du behöver minsta möjliga svarstid ska du inte använda routning och läsa händelserna från den inbyggda slutpunkten.
  • Som en del av din lösningsomfattande tillgänglighets- och haveriberedskapsstrategi bör du överväga att använda alternativet IoT Hub haveriberedskap mellan regioner.
  • När du använder en SDK för att skicka händelser till IoT Hubs kontrollerar du att undantagen som genereras av återförsöksprincipen (EventHubsException eller OperationCancelledException) fångas korrekt.
  • Om du vill undvika telemetriavbrott på grund av begränsning och en fullt utnyttjad kvot kan du överväga att lägga till en -anpassad lösning för automatisk skalning.

Konfigurationsrekommendationer

Överväg följande rekommendationer för att optimera tillförlitligheten när du konfigurerar Azure IoT Hub:

Rekommendation Beskrivning
Etablera en andra IoT Hub i en annan region och ha routningslogik på enheten. Dessa konfigurationer kan förbättras ytterligare med en Concierge Service.
Använd protokollet AMQP eller MQTT när du skickar händelser ofta. AMQP och MQTT ha högre nätverkskostnader när sessionen initieras, men HTTPS kräver extra TLS-omkostnader för varje begäran. AMQP och MQTT har högre prestanda för frekventa utgivare.
Använd endast certifikat som verifierats av en rotcertifikatutfärdare i produktionsmiljön om du använder X.509-certifikat för enhetsanslutningen. Kontrollera att du har processer på plats för att uppdatera certifikatet innan de upphör att gälla.
För maximalt dataflöde använder du det maximala antalet partitioner (32) när du skapar IoT Hub om du planerar att använda den inbyggda slutpunkten. Antalet enhet-till-moln-partitioner för slutpunkten som är kompatibel med Event Hub, återspeglar graden av parallell bearbetning som du kan uppnå nedströms. På så sätt kan du skala upp till 32 samtidiga bearbetningsentiteter och erbjuda den högsta tillgängligheten för att skicka och ta emot. Det går inte att ändra det här numret när det har skapats.
För skalning ökar du nivån och allokerade IoT Hub-enheter i stället för att lägga till mer än en IoT Hub per region. Att lägga till mer än en IoT Hub per region ger inte extra återhämtning eftersom alla hubbar kan köras på samma underliggande kluster.
I scenarier med högt dataflöde använder du batchbaserade händelser. Tjänsten levererar en matris med flera händelser till konsumenterna i stället för en matris med en händelse. Det förbrukande programmet måste bearbeta dessa matriser.
Om du behöver minsta möjliga svarstid ska du inte använda routning och läsa händelserna från den inbyggda slutpunkten. När du använder meddelanderoutning i IoT Hub ökar svarstiden för meddelandeleveransen. I genomsnitt får svarstiden inte överstiga 500 ms, men det finns ingen garanti för leveransfördröjningen.
Som en del av din lösningsomfattande tillgänglighets- och haveriberedskapsstrategi bör du överväga att använda alternativet IoT Hub haveriberedskap mellan regioner. Det här alternativet flyttar IoT Hub-slutpunkten till den kopplade Azure-regionen. Endast enhetsregistret replikeras. Händelser replikeras inte till den sekundära regionen. RTO för den kundinitierade failovern är mellan 10 minuter och några timmar. För en Microsoft-initierad redundansväxling är RTO 2-26 timmar. Bekräfta att denna RTO överensstämmer med kundens krav och passar in i den bredare tillgänglighetsstrategin. Om en högre RTO krävs kan du överväga att implementera ett redundansmönster på klientsidan.
När du använder en SDK för att skicka händelser till IoT Hub kontrollerar du att undantagen som genereras av återförsöksprincipen (EventHubsException eller OperationCancelledException) fångas korrekt. När du använder HTTPSimplementerar du ett korrekt återförsöksmönster.

Nästa steg