Skip to main content

Messaging Service Comparison

Event vs. Message

  • Event - is a lightweight notification of a condition or a state change.

    • The event data has information about what happened but doesn't have the data that triggered the event.
    • The published has no expectation about how the event is handled.
  • Message - is raw data produced by a service to be consumed or stored elsewhere.

    • The message contains the data that triggered the message pipeline.
    • The published has an expectation about how the consumer handles the message.

Services

ServicePurposeTypeWhen to use
Event GridReactive programmingEvent distribution (discrete)React to status changes
Event HubsBig data pipelineEvent streaming (series)Telemetry and distributed data streaming
Service BusHigh-value enterprise messagingMessageOrder processing and financial transactions

Storage Queue vs. Service Bus

CriteriaStorage queuesService Bus queues
Message sizeUp to 64KBCan exceed 64KB
Queue sizeCan go over 80GBUp to 80GB
Delivery guaranteeAt-Least-OnceAt-Least-Once or At-Most-Once
Ordering guaranteeNoYes (FIFO)
Atomic operation supportNoYes
Receive behaviorNon-blockingBlocking with or without a timeout
Push-style APINoYes
Exclusive access modeLease-basedLock-based
Lease/Lock duration30 seconds by default, 7 days maximum30 seconds by default
Batched receiveYesNo
Batched sendNoYes
AMQP 1.0 supportNoYes