📨 Messaging & Event-Driven Systems
Messaging là xương sống của hệ thống phân tán hiện đại. Khi services cần giao tiếp mà không cần biết nhau, khi bạn cần decouple producer khỏi consumer, khi throughput vượt quá khả năng xử lý đồng bộ — đó là lúc messaging infrastructure trở thành quyết định kiến trúc quan trọng nhất.
Hiểu Kafka không đủ. Staff engineer cần hiểu khi nào dùng Kafka, khi nào không, tại sao RabbitMQ tốt hơn trong một số scenario, và làm sao thiết kế event schema để hệ thống evolve được theo thời gian mà không break consumers.
Mục lục
| Bài | Nội dung | Mức độ |
|---|---|---|
| Kafka Internals & Operations | Partition leadership, ISR, log compaction, consumer group rebalance, KRaft, tuning. | Advanced |
| Broker Comparison & Patterns | Kafka vs RabbitMQ vs SQS/SNS vs NATS vs Pulsar, DLQ patterns, ordering guarantees. | Advanced |
| Event-Driven Architecture & Schema | Event notification vs event-carried state, schema registry, Avro/Protobuf evolution, CloudEvents. | Advanced |
Learning path
- Kafka Internals — Hiểu cách Kafka đảm bảo durability và ordering trước khi ra quyết định dùng hay không dùng.
- Broker Comparison — Map từng use case vào đúng tool. Đừng default Kafka cho mọi thứ.
- Event-Driven Architecture — Design event contracts đúng từ đầu, tránh schema hell sau này.