Een technologie voor realtime bericht opname kiezen in Azure
Realtime-verwerking heeft betrekking op gegevensstromen die in realtime worden vastgelegd en met minimale latentie worden verwerkt. Veel realtime verwerkingsoplossingen hebben een berichtenopslag nodig om te fungeren als een buffer voor berichten en om uitschaalverwerking, betrouwbare levering en andere semantiek voor berichten in wachtrijen te ondersteunen.
Wat zijn uw opties voor realtime berichtingestie?
Azure Event Hubs
Azure Event Hubs is een uiterst schaalbaar platform voor gegevensstreaming en een service voor gebeurtenisopneem, waarmee miljoenen gebeurtenissen per seconde kunnen worden ontvangen en verwerkt. Event Hubs kan gebeurtenissen, gegevens of telemetrie die wordt geproduceerd door gedistribueerde software en apparaten verwerken en opslaan. Gegevens die naar een Event Hub worden verzonden, kunnen worden omgezet en opgeslagen via een provider voor realtime analytische gegevens of batchverwerking/opslagadapters. Event Hubs biedt mogelijkheden voor publiceren/abonneren met een lage latentie op grote schaal, waardoor het geschikt is voor big data scenario's.
Azure IoT Hub
Azure IoT Hub is een beheerde service die betrouwbare en veilige bidirectionele communicatie mogelijk maakt tussen miljoenen IoT-apparaten en een cloudgebaseerde back-end.
De functie van IoT Hub zijn:
- Meerdere opties voor apparaat-naar-cloud- en cloud-naar-apparaat-communicatie. Deze opties bestaan onder andere uit berichten in één richting, bestandsoverdracht en methoden voor aanvraag/antwoord.
- Berichtroutering naar andere Azure-services.
- Opvraagbaar opslag voor metagegevens van apparaten en informatie over de gesynchroniseerde status.
- Beveiligde communicatie en toegangsbeheer met behulp van beveiligingssleutels per apparaat of X.509-certificaten.
- Bewaking van apparaatconnectiviteit en apparaatidentiteitsbeheergebeurtenissen.
In termen van berichtingestie is IoT Hub vergelijkbaar met Event Hubs. Het is echter specifiek ontworpen voor het beheren van de connectiviteit van IoT-apparaten, niet alleen voor het opnemen van berichten. Zie Vergelijking van Azure IoT Hub en Azure Event Hubs voor meer Azure Event Hubs.
Kafka op HDInsight
Apache Kafka is een opensource gedistribueerd streamingplatform dat kan worden gebruikt voor het bouwen van realtime gegevenspijplijnen en streamingtoepassingen. Kafka biedt ook berichtenbrokerfunctionaliteit vergelijkbaar met een berichtenwachtrij, waarmee u benoemde gegevensstromen kunt publiceren en zich erop kunt abonneren. Het is horizontaal schaalbaar, fouttolerant en zeer snel. Kafka in HDInsight biedt een Kafka als een beheerde, zeer schaalbare en zeer beschikbare service in Azure.
Enkele veelvoorkomende gebruiksgevallen voor Kafka zijn:
- Berichtenuitwisseling. Omdat het berichtpatroon publiceren/abonneren wordt ondersteund, wordt Kafka vaak gebruikt als berichtenbroker.
- Activiteiten bijhouden. Omdat Kafka logboekregistratie op volgorde van records biedt, kan het worden gebruikt voor het bijhouden en opnieuw maken van activiteiten, zoals gebruikersacties op een website.
- Aggregatie. met streamverwerking kunt u de gegevens uit de verschillende streams combineren en samenvoegen in operationele gegevens.
- Transformatie. met streamverwerking kunt u de gegevens uit meerdere invoeronderwerpen combineren en vertalen naar één of meer uitvoeronderwerpen.
Selectiecriteria voor sleutels
Als u de keuzes wilt beperken, begint u met het beantwoorden van deze vragen:
Hebt u communicatie in twee punten nodig tussen uw IoT-apparaten en Azure? Kies als dat het IoT Hub.
Moet u de toegang voor afzonderlijke apparaten beheren en de toegang tot een specifiek apparaat kunnen intrekken? Zo ja, kies IoT Hub.
Mogelijkheidsmatrix
De volgende tabellen geven een overzicht van de belangrijkste verschillen in mogelijkheden.
| Mogelijkheid | IoT Hub | Event Hubs | Kafka op HDInsight |
|---|---|---|---|
| Communicatie tussen cloud en apparaat | Ja | Nee | Nee |
| Door het apparaat geïnitieerde bestandsupload | Ja | Nee | Nee |
| Informatie over de apparaattoestand | Apparaattweeling | Nee | Nee |
| Protocolondersteuning | MQTT, AMQP, HTTPS 1 | AMQP, HTTPS, Kafka-protocol | Kafka-protocol |
| Beveiliging | Identiteit per apparaat; hernoceerbaar toegangsbeheer. | Beleid voor gedeelde toegang; beperkte intrekking via uitgeversbeleid. | Verificatie met SASL; pluggable autorisatie; integratie met ondersteunde externe verificatieservices. |
[1] U kunt azure IoT-protocolgateway ook gebruiken als een aangepaste gateway om protocolaanpassing in te IoT Hub.
Zie Vergelijking van Azure IoT Hub en Azure Event Hubs voor meer Azure Event Hubs.