Cloud message queues and event-driven architectures enable asynchronous communication between distributed services by decoupling producers and consumers through message brokers. These systems form the backbone of modern microservices architectures, supporting patterns from simple point-to-point messaging to complex event streaming with exactly-once delivery guarantees and sophisticated routing. Understanding the tradeoffs between delivery models, queue types, and messaging patterns is essential for building scalable, resilient distributed systems that handle failures gracefully while maintaining data consistency.
What This Cheat Sheet Covers
This topic spans 14 focused tables and 108 indexed concepts. Below is a complete table-by-table outline of this topic, spanning foundational concepts through advanced details.
Table 1: Major Cloud Message Queue Services
| Service | Example | Description |
|---|---|---|
aws sqs send-message --queue-url $URL --message-body "data" | • Fully managed message queuing service supporting standard (best-effort ordering, unlimited throughput) and FIFO queues (strict ordering, 300-3000 TPS) • pull-based with visibility timeout. | |
aws sns publish --topic-arn $ARN --message "event" | • Pub/sub service for push-based message distribution to multiple subscribers (SQS, Lambda, HTTP, email, SMS) • supports message filtering via subscription filter policies. | |
aws events put-events --entries Detail="{...}" EventBusName=custom | • Serverless event bus for routing events between AWS services and SaaS applications • supports content-based routing with pattern matching, event replay, and schema registry. | |
gcloud pubsub topics publish mytopic --message="data" | • Globally distributed pub/sub service supporting push and pull delivery modes • provides at-least-once delivery with optional exactly-once processing and message ordering via ordering keys. | |
az servicebus queue send --name myqueue --messages "[...]" | • Enterprise message broker with queues (point-to-point) and topics (pub/sub) • supports transactions, sessions for FIFO, duplicate detection, and advanced filtering with SQL-like expressions. |