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:

  • Utformningsbeaktanden
  • Checklista för konfiguration
  • Rekommenderade konfigurationsalternativ

Utformningsbeaktanden

Mer information om serviceavtalet för Azure IoT Hub finns i SLA 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.
  • AMQP Använd protokollet 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 Haveriberedskap mellan regioner i IoT Hub.
  • När du läser enhetstelemetri från den inbyggda Event Hub-kompatibla slutpunkten läser du rekommendationen för Event Hub-konsumenter.
  • 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 fullständigt använd 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-tjänst.
AMQP Använd protokollet eller MQTT när du skickar händelser ofta. AMQP och MQTT har högre nätverkskostnader vid initiering av sessionen, 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 enhets-till-moln-partitioner för den Event Hub-kompatibla slutpunkten återspeglar den grad av nedströmsparallellitet som du kan uppnå. 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 Haveriberedskap mellan regioner i IoT Hub. 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 redundansväxlingen är mellan 10 minuter och ett par timmar. För en Microsoft-initierad redundansväxling är 2-26 RTO 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.

Gå vidare