Docs học tập
Backend nền tảng

I9 · Thiết kế LLD: Hệ thống Notification

Event → Notification Service → Strategy (chọn kênh) → Email / SMS / Push.

I9 · Middle

Một tổng đài: nhận sự kiện, chọn kênh phù hợp (email/SMS/push) và báo cho người đăng ký.

Cốt lõi

  • Event → Notification Service → Strategy (chọn kênh) → Email / SMS / Push.
  • Template cho nội dung; Observer để thông báo cho subscriber.

Đánh đổi

Mở rộng tốt → thêm kênh mới không sửa code cũ (Open/Closed).

Trong thực tế

Thông báo Swiggy, Amazon; push notification Instagram.

Bug thường gặp

Retry gửi thông báo không có khóa chống trùng → người dùng nhận 5 tin SMS giống nhau.

Tự hỏi lại

Retry, chống gửi trùng, tôn trọng tùy chọn tắt thông báo của user?

On this page