Module 11
How services talk to each other: pub/sub, request-reply, message brokers, fan-out, and patterns for reliable asynchronous communication.
Beyond the basics: topic design, subscription filtering, at-least-once vs exactly-once delivery, and scaling pub/sub systems.
Central message routing: broker topologies, message persistence, delivery guarantees, and comparing brokers (Kafka, RabbitMQ, SQS, Pulsar).
Synchronous communication over messaging: correlation IDs, reply queues, timeouts, and when to use request-reply vs fire-and-forget.
Long-running operations over messaging: polling endpoints, webhooks, status callbacks, and the async HTTP pattern with 202 Accepted.
Process related messages in order: session-based routing, partition keys, ordered queues, and maintaining sequence without sacrificing throughput.
Distribute work to many workers (fan-out) and aggregate results (fan-in): scatter-gather, MapReduce-style processing, and aggregation strategies.