Event-driven architecture

EventBridge vs SQS vs SNS

AWS has three messaging services that overlap in confusing ways. Compare them side-by-side or answer questions about your architecture to get a clear recommendation.

Best For

EventBridge

  • Event-driven routing across AWS services
  • SaaS integrations (Shopify, Zendesk, Auth0)
  • Cross-account / cross-region event bus
  • Content-based routing to multiple targets

SQS

  • Decoupling producers from consumers
  • Work queues with guaranteed processing
  • Rate-limiting downstream services
  • Reliable async job processing

SNS

  • Fan-out to multiple subscribers
  • Push notifications (SMS, email, mobile)
  • Pub/sub broadcasting
  • Combining with SQS for fan-out + queuing

Pricing

EventBridge

$1.00 per million events. Schema discovery and archive priced separately.

SQS

$0.40 per million requests (Standard) / $0.50 per million (FIFO). First 1M requests/month free.

SNS

$0.50 per million publishes. Delivery costs vary: SQS/Lambda free, HTTP $0.06/M, SMS varies by country.

Max Message Size

EventBridge

256 KB per event.

SQS

256 KB per message. Up to 2 GB via Extended Client Library (payload stored in S3).

SNS

256 KB per message.

Ordering

EventBridge

No ordering guarantees. Events may arrive out of order.

SQS

Standard: best-effort ordering. FIFO: strict ordering within message groups.

SNS

Standard topics: no ordering. FIFO topics: strict ordering within message groups.

Filtering

EventBridge

Content-based filtering on any event field using event patterns (prefix, numeric, exists, etc.).

SQS

No built-in content filtering. Consumer receives all messages and filters in application code.

SNS

Subscription filter policies on message attributes or body. Supports exact, prefix, numeric, and exists matching.

Targets / Consumers

EventBridge

20+ AWS targets natively: Lambda, Step Functions, SQS, SNS, API Gateway, Kinesis, CodePipeline, and more.

SQS

Pull-based: one consumer polls the queue. Multiple consumers compete for messages (competing-consumer pattern).

SNS

Push to SQS, Lambda, HTTP/S endpoints, email, SMS, and mobile push. Up to 12.5M subscriptions per topic.

Retry Behavior

EventBridge

Built-in retry with exponential backoff (up to 24 hours, 185 attempts). Dead-letter queue support.

SQS

Visibility timeout controls retry. Message reappears after timeout if not deleted. Configurable DLQ with maxReceiveCount.

SNS

Retries vary by protocol — Lambda gets 3 attempts, HTTP gets configurable retries with backoff. DLQ support for Lambda/SQS targets.

Design an event-driven order pipeline

Practice the saga pattern, message queues, and async processing in our Blueprint Bay system design challenges — with simulated traffic and failure scenarios.

Try Blueprint Bay free →