Välja en teknik för inmatning av meddelanden i realtid i Azure
Realtidsbearbetning hanterar dataströmmar som samlas in i realtid och bearbetas med minimal svarstid. Många lösningar för realtidsbearbetning behöver ett lagringslager för meddelandeinmatning för att fungera som en buffert för meddelanden och för att stödja utskalningsbearbetning, tillförlitlig leverans och annan semantik för meddelandeköer.
Vilka alternativ har du för inmatning av meddelanden i realtid?
Azure Event Hubs
Azure Event Hubs är en mycket skalbar dataströmningsplattform och händelseinmatningstjänst som kan ta emot och bearbeta miljontals händelser per sekund. Event Hubs kan bearbeta och lagra händelser, data eller telemetri som producerats av distribuerade program och enheter. Data som skickas till en händelsehubb kan omvandlas och lagras med valfri provider för realtidsanalys eller batchbearbetnings-/lagringsadapter. Event Hubs ger funktioner för publicering och prenumeration med korta svarstider i massiv skala, vilket gör det lämpligt för stordatascenarier.
Azure IoT Hub
Azure IoT Hub är en hanterad tjänst som möjliggör tillförlitlig och säker dubbelriktad kommunikation mellan miljontals IoT-enheter och en molnbaserad backend-enhet.
Funktionerna i IoT Hub omfattar:
- Flera alternativ för kommunikation från enhet till moln och från moln till enhet. Dessa alternativ omfattar enkelriktade meddelanden, filöverföring och begäran/svar-metoder.
- Meddelanderoutning till andra Azure-tjänster.
- Arkiv som kan frågas efter enhetsmetadata och synkroniserad tillståndsinformation.
- Säker kommunikation och åtkomstkontroll med säkerhetsnycklar per enhet eller X.509-certifikat.
- Övervakning av enhetsanslutnings- och enhetsidentitetshanteringshändelser.
När det gäller inmatning av meddelanden IoT Hub liknar Event Hubs. Den har dock utformats särskilt för att hantera IoT-enhetsanslutningar, inte bara inmatning av meddelanden. Mer information finns i Jämförelse av Azure IoT Hub och Azure Event Hubs.
Kafka på HDInsight
Apache Kafka är en distribuerad strömningsplattform med öppen källkod som kan användas för att skapa datapipelines och strömningsprogram i realtid. Kafka tillhandahåller även funktionen för asynkron meddelandekö som liknar en meddelandekö där du kan publicera och prenumerera på namngivna dataströmmar. Det är horisontellt skalbart, feltolerant och mycket snabbt. Kafka på HDInsight tillhandahåller en Kafka som en hanterad, mycket skalbar och hög tillgänglig tjänst i Azure.
Några vanliga användningsfall för Kafka är:
- Meddelanden. Eftersom kafka stöder meddelandemönstret publicera/prenumerera används det ofta som en autjämnare för meddelanden.
- Aktivitetsspårning. Eftersom Kafka tillhandahåller loggning av poster i ordning kan den användas för att spåra och skapa om aktiviteter, till exempel användaråtgärder på en webbplats.
- Sammansättning. Med hjälp av strömbearbetning kan du sammanställa information från olika strömmar för att kombinera och centralisera information till användningsdata.
- Transformering. Med dataströmsbearbetning kan du kombinera och utöka data från flera inkommande avsnitt i ett eller flera utdataämnen.
Viktiga urvalsvillkor
Börja med att besvara de här frågorna för att begränsa alternativen:
Behöver du tvåvägskommunikation mellan dina IoT-enheter och Azure? I så fall väljer du IoT Hub.
Behöver du hantera åtkomsten för enskilda enheter och kunna återkalla åtkomsten till en specifik enhet? Om ja, välj IoT Hub.
Kapacitetsmatris
I följande tabeller sammanfattas de viktigaste skillnaderna i funktioner.
| Funktion | IoT Hub | Event Hubs | Kafka på HDInsight |
|---|---|---|---|
| Kommunikation från moln till enhet | Ja | Inga | Inga |
| Enhetsinitierad filuppladdning | Ja | Inga | Inga |
| Information om enhetstillstånd | Enhetstvillingarna | Inga | Inga |
| Protokollstöd | MQTT, AMQP, HTTPS 1 | AMQP, HTTPS, Kafka-protokoll | Kafka-protokoll |
| Säkerhet | Identitet per enhet; återbeterbar åtkomstkontroll. | Principer för delad åtkomst; begränsat återkallande via utgivarprinciper. | Autentisering med hjälp av SASL; pluggable authorization; integrering med externa autentiseringstjänster som stöds. |
[1] Du kan också använda Azure IoT-protokollgateway som en anpassad gateway för att aktivera protokollanpassning för IoT Hub.
Mer information finns i Jämförelse av Azure IoT Hub och Azure Event Hubs.