← Back to microservices patterns mapasync
📨
Microservices Pattern
Asynchronous Messaging
Services communicate through a broker so producers and consumers can scale independently.
Detailed Description
Messaging removes temporal coupling. A producer can publish work even when consumers are slow or temporarily unavailable.
The design needs idempotent consumers, dead-letter queues, and observability around lag and failures.
Visual Diagram
Message Broker Pattern
OrderSvc → publish(OrderPlaced) → [Broker]
↓ ↓
EmailSvc InventorySvc
processes processes
async async
Broker: Kafka, RabbitMQ, SQS, NATSTradeoffs
Pros
Decoupled, resilient, absorbs spikes
Cons
Eventual consistency, ordering, harder debugging
Examples: Kafka, RabbitMQ, SQS, NATS