2024-01-20 17:55 — 2 phút đọc

Hệ thống push notification hoạt động như thế nào?

#push#notification#system#architecture#howto


Giới thiệu

Hệ thống push notification là một hệ thống quan trọng trong các ứng dụng mobile, web, … Nó giúp các ứng dụng có thể gửi các thông báo tới người dùng một cách nhanh chóng.

System workflow

Diagram dưới đây sẽ mô tả kiến trúc của một hệ thống notification bao gồm các channels chính:

  • In-App Notification: Là các thông báo được hiển thị trực tiếp trên ứng dụng.
  • Email Notification: Là các thông báo được gửi tới email của người dùng.
  • SMS and OTP Notification: Là các thông báo được gửi tới số điện thoại của người dùng.
  • Social Notification: Là các thông báo được gửi tới các ứng dụng mạng xã hội như Facebook, Twitter, …

Hãy đi từng bước để tìm hiểu chi tiết hơn về hệ thống này.

  • Bước 1.11.2 - Các bussiness service sẽ gửi notifications tới notification gateway. Gateway có thể xử lý ở 2 chế độ: 1 là nhận từng notification mỗi lần, cái khác là nhận notifications theo lô.

  • Bước 2, 2.12.2 - Notification gateway sẽ chuyển tiếp notifications tới distribution service, nơi mà các messages sẽ được xác thực, định dạng, và lên lịch gửi dựa trên các cài đặt sẵn có của người dùng. Notification template repository cho phép người dùng định nghĩa các định dạng message. Các channels reference repository cho phép người dùng định nghĩa các channels.

  • Bước 3 - Các notifications được gửi tới các routers, hàng đợi message.

  • Bước 4 - Các channel services giao tiếp với nhiều internal và external kênh phân phối, bao gồm các kênh như: In-App, Email, SMS, Social, …

  • Bước 5, 6 - Số liệu phân phối được ghi lại bởi dịch vụ phân tích và theo dõi thông báo, nơi nhóm vận hành có thể xem báo cáo phân tích và cải thiện trải nghiệm người dùng.

Push notification system diagram


Tham khảo


aitu avatar

Hi! Tôi là Tuyên — Hiện tại tôi đang làm Software Architect, Senior developer tại một công ty nhỏ ở Hà Nội. Tôi cảm thấy thích thú, đam mê, yêu thích với việc viết lách và chia sẻ những kiến thức mà tôi biết. Hãy đọc nhiều hơn tại blogs và tới about để biết thêm về tôi nhé.