25 điểm bởi xguru 2025-01-06 | 2 bình luận | Chia sẻ qua WhatsApp
  • Giải pháp mở dễ dùng, nhanh, ổn định và tiết kiệm pin
  • Đẩy các bản cập nhật dữ liệu tới trình duyệt web và các client HTTP khác
  • Đặc biệt hữu ích để hiển thị các bản cập nhật bất đồng bộ/thời gian thực của tài nguyên được cung cấp qua web API trên web phản hồi và ứng dụng di động
  • Thuần HTTP: hỗ trợ giao tiếp hai chiều bằng cách tận dụng các giao thức từ HTTP/2 trở lên
  • Thời gian phản hồi nhanh và độ trễ thấp
  • Tương thích trình duyệt trong mọi môi trường mà không cần cài đặt riêng
  • Phát hành và đăng ký đơn giản
    • Phát hành (Publish): xử lý bằng yêu cầu POST đơn giản
    • Đăng ký (Subscribe): nhận cập nhật thời gian thực qua Server-Sent Events (SSE)
  • Hỗ trợ tự động kết nối lại khi ngắt kết nối và yêu cầu lại các tin nhắn bị bỏ lỡ
  • Được thiết kế cho RESTful API và GraphQL
  • Cung cấp cập nhật riêng tư thông qua xác thực JWT
  • Cung cấp Presence API để kiểm tra trạng thái kết nối của người dùng. Có thể theo dõi trạng thái đăng ký và sự kiện
  • Event store: có thể lưu trữ và quản lý các sự kiện đã phát sinh
  • Tương thích với PHP và các kiến trúc serverless khác
  • Cung cấp E2EE (End-to-End Encryption) để bảo mật dữ liệu toàn diện
  • Cung cấp implementation tham chiếu Mercure Hub ở mức sẵn sàng cho production
    • Đi kèm thư viện có thể dùng để triển khai trực tiếp giao thức Mercure mà không cần hub trong mọi ứng dụng Go và image Docker chính thức

2 bình luận

 
jhj0517 2025-01-06

Nếu dựa trên SSE thì mình khá tò mò không biết đây là giao tiếp một chiều, hay có hỗ trợ giao tiếp hai chiều như WebSocket không nhỉ! 😮
Trước mắt theo những gì mình tự tìm hiểu thì có vẻ chỉ hỗ trợ giao tiếp một chiều (server -> client) thôi... 🥺
https://medium.com/@sirajul.anik/…

 
nemorize 2025-01-06

FrankenPHP do cùng tác giả tạo ra có tích hợp sẵn implementation của Mercure.
https://vi.news.hada.io/topic?id=15103

Về khía cạnh cung cấp real-time hub, cũng có Pushpin có thể trở thành lựa chọn thay thế.
https://vi.news.hada.io/topic?id=11377

Pushpin trực quan hơn Mercure (haha... tôi quá lười để đọc tài liệu của Mercure), nên trước đây tôi đã dùng Pushpin cho một side project, nhưng lần tới thì tôi muốn thử dùng cậu này.