Azure Event Hubs, a Data Streaming Platform

Azure Event Hubs is Microsoft’s service within Azure Cloud. Azure Event Hubs is a scalable data streaming platform that has a capability to receive and process millions of events per second and features high reliability and low latency. Being a part of Microsoft’s IoT services, Azure Event Hubs uses HTTPS and AMQP 1.0 (Advanced Message Queuing Protocol) protocols to process and store data, events or telemetry produced by distributes devices or software.

  

Azure Event Hubs is especially useful for various IoT scenarios, workflow or user experience processing, and application instrumentation. Azure Event Hubs ensures a large scale data intake in a wide variety of specific scenarios:

 

  • telemetry data collected from connected vehicles or industrial machines;
  • traffic information from web farms;
  • tracking behavior in mobile apps;
  • capturing events in console games.

 

Azure Event Hubs plays the role of an event ingestor, a component that is between event publishers and event consumers to separate the production of different event streams from the consumption of these events. It differs from traditional enterprise messaging because its capabilities ensure high throughput and processing flexibility but the service doesn’t implement some specific capabilities of Service Bus.

 

Azure Event Hubs is based on a partitioned consumer pattern that allows every consumer to read only a specific subset of the message stream, or a partition. The pattern makes possible to scale event processing horizontally and ensures other features which are impossible in topics and queues.

 

Azure Event Hubs has the following essential elements.

  • Event publisher/producer is an entity sending data to an event hub.
  • SAS token is used by each event publishers to identify himself to an event hub.
  • Event consumer is an entity that reads data from event hub.
  • Consumer groups enable publish and subscribe mechanisms that allow multiple consumer applications to work independently and have a separate view of the event stream.
  • Capture enables Event Hubs’ users to capture streaming data and store it to their choice in Azure Blob storage or Azure Data Lake storage account.