Backend nền tảng
G8 · Event-Driven Architecture
Các service giao tiếp qua event, không gọi trực tiếp.
G8 · Nâng cao
Phát thanh trong trường: phòng giáo vụ thông báo một lần, lớp nào liên quan tự hành động – không cần gọi từng lớp.
Cốt lõi
- Các service giao tiếp qua event, không gọi trực tiếp.
- Publisher phát event (vd: OrderCreated), subscriber phản ứng bất đồng bộ (Payment, Notification).
Đánh đổi
Lợi: tách rời, mở rộng tốt, dễ thêm tính năng mới. Hại: khó truy vết luồng, eventual consistency.
Trong thực tế
Uber: chuyến đi → ghép tài xế, thanh toán, thông báo qua event.
Bug thường gặp
Lưu DB xong rồi mới publish event, app chết ở giữa → dữ liệu có nhưng event không bao giờ được gửi (cần Outbox).
Tự hỏi lại
Làm sao ghi DB và phát event nguyên tử? (Outbox pattern).