[ SRE_ARENA ]
Roadmap
System Design
SREdle
⚡ 1420 ELO
OP
☰
←
BACK TO ROADMAP
MESSAGE BROKERS & STREAMING
Message Brokers: Event-Driven Architecture
1. Why Decouple? (Synchronous vs Asynchronous)
2. Point-to-Point vs Pub/Sub
3. The Two Paradigms: RabbitMQ vs Kafka
4. RabbitMQ: Exchanges, Queues, and DLQs
5. Apache Kafka: Topics, Partitions, and Consumer Groups
6. Message Ordering Guarantees
7. Kafka ISR (In-Sync Replicas) & Durability
8. Log Compaction & Retention
9. NATS & NATS JetStream
10. Delivery Guarantees
11. Consumer Lag & Backpressure
DOWNLOADING CONCEPT: 1. WHY DECOUPLE? (SYNCHRONOUS VS ASYNCHRONOUS)...
↳
When Service A calls Service B synchronously via HTTP, they are
coupled
in time.
↳
If Service B is slow, Service A is slow.
↳
If Service B crashes, Service A crashes (Cascading Failure).
Asynchronous Messaging
↳
fixes this.
↳
Service A writes a message to a Broker (which is fast and highly available) and immediately returns success to the user.
↳
Service B reads from the broker at its own pace.
↳
This protects your architecture from traffic spikes and complete meltdowns.
▲ LIVE INCIDENT
Users report their password reset emails are arriving 4 hours late.
sre@arena:~/message-brokers
sre@arena
:
~
$
kafka-consumer-groups.sh --bootstrap-server localhost:9092 --describe --group email-senders
▶ EXECUTE COMMAND