Lesson 71 — Mini-project: Microservices + Saga

Tổng kết Tier 6: 3 service (Order · Payment · Inventory) giao tiếp qua message bus, saga orchestration cho transaction "đặt hàng", có idempotency.

Module 1 — Kiến trúc (bấm vào từng thành phần)

Orchestrator điều phối; mọi giao tiếp đi qua message bus; 3 service không gọi nhau trực tiếp. Bấm để xem trách nhiệm.

SAGA ORCHESTRATORforward + compensation
▲ publish / subscribe ▼
MESSAGE BUSpub/sub · at-least-once · dedup
▲ events ▼
ORDERPENDING/CONFIRMED/CANCELLED
INVENTORYreserve / release
PAYMENTcharge / refund
Bấm một thành phần để xem chi tiết.

Module 2 — Saga flow (thành công vs bồi hoàn)

Chạy mô phỏng từng bước. Kịch bản "hết hàng" và "payment từ chối" sẽ fail giữa chừng và compensate ngược.

order: —
kho BOOK-GO: 5
payment: —

Module 3 — Event flow & idempotency (dedup)

Bus có thể giao một event nhiều lần (at-least-once). Bật "giao lặp" rồi phát: consumer dedup theo event ID → chỉ xử lý lần đầu.

Orchestrator BUS dedup Order svc processed: 0