Docs học tập
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).

On this page