← 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
Producer -> Broker topic/queue Consumer A pulls Consumer B pulls Producer does not wait
Tradeoffs
Pros
Decoupled, resilient, absorbs spikes
Cons
Eventual consistency, ordering, harder debugging
Examples: Kafka, RabbitMQ, SQS, NATS