Välja Azure Event Hubs

Slutförd

Det finns vissa program som producerar ett enormt antal händelser från nästan lika många källor. Termen ”stordata” tillämpas ofta på dessa situationer och det krävs en unik infrastruktur för att hantera dem.

Anta att du arbetar på Contoso Aircraft Engines. Motorerna som din arbetsgivare tillverkar har hundratals sensorer. Varje dag innan ett flygplan kan flygas ansluts motorerna till en testmiljö där de gås igenom. Dessutom strömmas cachelagrade flygdata när flygplanet är anslutet till en markutrustning.

Nu vill du använda historiska sensordata för att hitta mönster i sensoravläsningarna som indikerar att ett motorfel troligen kommer att inträffa snart. Du vill också att sensoravläsningarna i realtid ska jämföras mot de här felmönstren. Sedan kan du varna användarna nära nog i realtid om en motor visar oroväckande värden.

Vad är Azure Event Hubs?

Event Hubs är en mellanhand för kommunikationsmönstret publicera/prenumerera. Till skillnad från Event Grid är det dock optimerat för extremt högt dataflöde, ett stort antal utgivare, säkerhet och återhämtning.

Event Grid passar perfekt in i publicerings-prenumerera-mönstret eftersom det helt enkelt hanterar prenumerationer och dirigerar kommunikation till dessa prenumeranter, men Event Hubs utför en hel del extra tjänster. Dessa extra tjänster gör att det ser mer ut som en servicebuss eller meddelandekö än en enkel händelseprogramledare.

Partitioner

När Event Hubs tar emot kommunikation delas den upp i partitioner. Partitioner är buffertar där kommunikationen sparas. På grund av händelsebuffertar är händelser inte tillfälliga och en händelse missas inte bara för att en prenumerant är upptagen eller till och med offline. Prenumeranten kan alltid använda bufferten för att "komma ikapp". Som standard förblir händelser i bufferten i 24 timmar innan de upphör att gälla automatiskt. Buffertarna kallas partitioner eftersom data delas upp mellan dem. Varje partition har en separat uppsättning prenumeranter.

Capture

Event Hubs kan skicka alla händelser direkt till Azure Data Lake eller Azure Blob Storage för prisvärd och permanent lagring.

Autentisering

Alla utgivare autentiseras och får ett token utfärdat. Det innebär att Event Hubs kan acceptera händelser från externa enheter och mobilappar utan att behöva oroa sig för att bedrägliga data från prankers kan förstöra din analys.

Använda Event Hubs

Händelsehubbar har stöd för pipelining av händelseströmmar till andra Azure-tjänster. Om det används med Azure Stream Analytics möjliggörs till exempel komplexa dataanalyser nära nog i realtid, där flera händelser kan korreleras och mönster upptäckas. I det här fallet anses Stream Analytics vara en prenumerant.

När det gäller våra flygplansmotorer konfigurerar vi arkitekturen så att Händelsehubbar autentiserar informationen från våra motorer. Vi kommer sedan att använda capture för att spara alla data till Data Lake. Senare kan vi använda alla dessa data för att träna om och förbättra våra maskininlärningsmodeller. Slutligen hämtar Stream Analytics-prenumeranter våra händelseströmmar. Stream Analytics använder vår maskininlärningsmodell för att leta efter mönster i sensordata som kan tyda på problem.

Eftersom vi har flera partitioner och varje motor endast skickar data till en partition behöver varje instans av Stream Analytics-prenumeranten bara hantera en delmängd av hela datamängden. Den behöver inte filtrera och korrelera över allt.

Vilken tjänst ska jag välja?

Precis som med våra köalternativ kan det verka svårt att välja mellan dessa två händelseleveranstjänster till att börja med. Båda har stöd för At Least Once-semantik.

Välj Event Hubs om:

  • du behöver kunna autentisera ett stort antal utgivare
  • Du behöver kunna spara en händelseström i Data Lake eller i blobblagringen.
  • Du behöver kunna aggregera eller analysera din händelseström.
  • Du behöver tillförlitliga meddelandefunktioner eller återhämtning.

Om du behöver en enkel infrastruktur för att publicera och prenumerera på händelser med betrodda utgivare (till exempel din egen webbserver) bör du välja Event Grid.

Med Event Hubs kan du skapa en pipeline för stordata som kan bearbeta miljontals händelser per sekund med kort svarstid. Den kan hantera data från samtidiga källor och dirigera dem till olika infrastrukturer för dataströmbearbetning och analystjänster. Det gör det möjligt att bearbeta i realtid och stöder upprepad återuppspelning av lagrade rådata.