Event Hub Service Overview

About Event Hub

The Event Hub publish-subscribe service is built to be secure, highly scalable, fault tolerant, and language-agnostic.

The publish-subscribe model supports binary JSON over WebSocket and protobuf over gRPC streams for publishing, and binary (protobuf over gRPC) for subscribing. Devices communicate with the Event Hub service by publishing messages to topics. Applications, devices, and services can use Event Hub as a one-stop solution for their communication needs. Use Event Hub to ingest streaming data from anywhere to the cloud for processing.

Event Hub uses gRPC for publishing and subscribing. A full-duplex streaming RPC framework, gRPC uses protocol buffers for wire protocol. gRPC is implemented over HTTP/2 and uses header compression, multiplexing TCP connections, and flow control. Protocol Buffers is a binary protocol, suited for IoT devices that publish high-velocity data over networks with low bandwidth.

The Event Hub also provides the following:

  • Streaming high volumes of data to the cloud for processing, from anywhere.
  • Payload-agnostic publishing of any type of data for subscriber consumption.
  • Subscribers scaling from single to multiple instances, with Event Hub handling message distribution.
  • Handling of large-scale asynchronous message processing applications.
  • Uses Predix UAA or any other OAuth provider for authentication and authorization.

Additional Information

Exploring Event Hub Guides

Event Hub Architecture

The following figure shows the Event Hub message flow.

  1. Each Event Hub service instance creates a topic and returns the Publisher and Subscriber endpoints.
  2. Producers send messages to the Event Hub service over WebSocket or gRPC.
  3. Messages are persisted in a durable store for 24 hours.
  4. Event Hub distributes the messages across the subscribers.