Azure Event Hubs kiezen

Voltooid

Er zijn bepaalde toepassingen die een enorm aantal gebeurtenissen produceren van bijna zoveel bronnen. We horen vaak de term 'Big Data' die op deze situaties wordt toegepast en ze hebben een unieke infrastructuur nodig om ze te verwerken.

Stel dat u werkt voor Contoso Aircraft Engines. De motoren die uw werkgever produceert, hebben honderden sensoren. Voordat een vliegtuig elke ochtend kan vliegen, worden de motoren verbonden met een testopstelling en getest. Daarnaast worden in-flight gegevens vanuit de cache gestreamd wanneer het vliegtuig is verbonden met grondapparatuur.

U wilt historische sensorgegevens gebruiken om patronen te vinden in de sensormetingen die aangeven dat de motorfout waarschijnlijk binnenkort zal optreden. U wilt dat de realtime sensormetingen worden vergeleken met deze foutpatronen. Vervolgens kunt u gebruikers in bijna realtime waarschuwen als een motor verontrustende metingen weergeeft.

Wat is Azure Event Hubs?

Event Hubs is een tussenpersoon voor het publish-subscribe communicatiepatroon. In tegenstelling tot Event Grid, is deze echter geoptimaliseerd voor extreem hoge doorvoer, een groot aantal uitgevers, beveiliging en tolerantie.

Event Grid past perfect in het patroon publiceren-abonneren, omdat hiermee eenvoudigweg abonnementen worden beheerd en communicatie naar deze abonnees wordt gerouteerd, voert Event Hubs nogal wat extra services uit. Deze extra services maken het meer lijken op een servicebus of berichtenwachtrij dan een eenvoudige gebeurteniszender.

Partities

Wanneer Event Hubs communicatie ontvangt, worden deze verdeeld in partities. Partities zijn buffers waarin de communicatie wordt opgeslagen. Vanwege de gebeurtenisbuffers zijn gebeurtenissen niet kortstondig en wordt een gebeurtenis niet gemist omdat een abonnee bezet of zelfs offline is. De abonnee kan altijd de buffer gebruiken om 'in te halen'. Gebeurtenissen blijven standaard 24 uur in de buffer voordat ze automatisch verlopen. De buffers worden partities genoemd omdat de gegevens ertussen zijn verdeeld. Elke partitie heeft een afzonderlijke set abonnees.

Vangen

Event Hubs kan al uw gebeurtenissen onmiddellijk verzenden naar Azure Data Lake of Azure Blob Storage voor goedkope, permanente persistentie.

Authenticatie

Alle uitgevers worden geverifieerd en een token uitgegeven. Dit betekent dat Event Hubs gebeurtenissen van externe apparaten en mobiele apps kan accepteren zonder dat u zich zorgen hoeft te maken dat frauduleuze gegevens van prankers uw analyse kunnen ruïneren.

Event Hubs gebruiken

Event Hubs biedt ondersteuning voor het pipelinen van gebeurtenisstromen naar andere Azure-services. Door deze te gebruiken met Azure Stream Analytics, bijvoorbeeld, kunnen complexe gegevens bijna in realtime worden geanalyseerd, met de mogelijkheid om meerdere gebeurtenissen te correleren en patronen te zoeken. In dit geval wordt Stream Analytics beschouwd als een abonnee.

Voor onze vliegtuigmotoren stellen we onze architectuur zo in dat Event Hubs de communicatie van onze motoren verifieert. Vervolgens gebruiken we capture om alle gegevens op te slaan in Data Lake. Later kunnen we al die gegevens gebruiken om onze machine learning-modellen opnieuw te trainen en te verbeteren. Tot slot halen Stream Analytics-abonnees onze gebeurtenisstreams op. Stream Analytics maakt gebruik van ons machine learning-model om te zoeken naar patronen in de sensorgegevens die mogelijk problemen aangeven.

Omdat we meerdere partities hebben en elke engine alle gegevens naar slechts één partitie verzendt, hoeft elk exemplaar van onze Stream Analytics-abonnee alleen om te gaan met een subset van onze algemene gegevens. Het hoeft niet alles te filteren en correleren.

Welke service moet ik kiezen?

Net als onze wachtrijkeuze kan het selecteren tussen deze twee services voor het leveren van gebeurtenissen in eerste instantie lastig lijken. Beide ondersteunen ten minste één keer semantiek.

Kies Event Hubs als:

  • U moet ondersteuning bieden voor het verifiëren van een groot aantal uitgevers.
  • U moet een stroom gebeurtenissen opslaan in Data Lake of Blob Storage.
  • U hebt aggregatie of analyses nodig voor uw gebeurtenissen
  • U hebt betrouwbare berichtenuitwisseling of veerkracht nodig.

Als u een eenvoudige infrastructuur voor publiceren/abonneren op gebeurtenissen nodig hebt met vertrouwde uitgevers (bijvoorbeeld uw eigen webserver), moet u Event Grid kiezen.

Met Event Hubs kunt u een big data-pijplijn bouwen waarmee miljoenen gebeurtenissen per seconde met lage latentie kunnen worden verwerkt. Het kan gegevens verwerken uit gelijktijdige bronnen en deze routeren naar verschillende infrastructuren en analyseservices voor stroomverwerking. Het maakt realtime verwerking mogelijk en ondersteunt herhaalde herhaling van opgeslagen onbewerkte gegevens.