Skip to content

2.2. Asynchronous Messaging Fundamentals

Asynchronous messaging decouples producers from consumers in time: the sender does not wait, and the broker absorbs bursts and outages that would otherwise cascade. The price is a new class of problems — delivery guarantees, ordering, duplicate handling, and messages that can never be processed. This chapter contrasts queue and log architectures (RabbitMQ, Kafka, Pulsar), pins down the precise meaning of at-least-once versus exactly-once, and treats schema evolution and dead-letter handling as the production-critical concerns they are.