Hệ thống Pub/Sub là gì?
Truy cập systemdesign.us để biết các Câu hỏi Phỏng vấn Thiết kế Hệ thống được các công ty và Giải pháp của họ gắn thẻ. Theo dõi chúng tôi trên YouTube , LinkedIn , Twitter , Medium .
Hệ thống Pub/Sub là hệ thống nhắn tin cho phép người dùng đăng ký các chủ đề cụ thể và chỉ nhận tin nhắn từ các chủ đề mà họ đã đăng ký. Điều này có thể hữu ích cho nhiều ứng dụng, chẳng hạn như mạng xã hội, nguồn cấp tin tức và chơi trò chơi.
Quán rượu/phụ hoạt động như thế nào?
Nhà xuất bản (hoặc người gửi tin nhắn) gửi tin nhắn đến một chủ đề cụ thể. Sau đó, tin nhắn được nhận bởi tất cả người đăng ký (hoặc người nhận tin nhắn) của chủ đề đó. Người đăng ký có thể chọn hủy đăng ký một chủ đề bất cứ lúc nào.
Thành phần quán rượu/phụ

Có ba thành phần chính trong hệ thống quán rượu/phụ:
chủ đề : tin nhắn được sắp xếp thành các chủ đề và người dùng có thể đăng ký các chủ đề cụ thể để nhận tin nhắn.
nhà xuất bản : nhà xuất bản là người gửi tin nhắn và họ gửi tin nhắn đến các chủ đề cụ thể.
người đăng ký : người đăng ký là người nhận tin nhắn và họ nhận được tất cả tin nhắn từ các chủ đề mà họ đã đăng ký.
Tại sao lại sử dụng quán rượu/phụ?
Pub/sub có thể hữu ích cho các ứng dụng yêu cầu cập nhật theo thời gian thực từ nhiều nguồn khác nhau. Ví dụ: một ứng dụng mạng xã hội có thể cần hiển thị cho người dùng các cập nhật từ bạn bè của họ, cũng như các câu chuyện tin tức và nội dung khác. Bằng cách sử dụng pub/sub, ứng dụng có thể nhận tất cả các thông báo này trong thời gian thực mà không cần phải liên tục thăm dò dữ liệu mới.
lợi ích của pub/sub là gì?
Có một số lợi ích của việc sử dụng pub/sub:
- Cập nhật theo thời gian thực: Người đăng ký có thể nhận được tin nhắn ngay khi chúng được xuất bản mà không phải đợi khoảng thời gian bỏ phiếu thông thường.
- Đăng ký linh hoạt: Người đăng ký có thể chọn chỉ đăng ký các chủ đề mà họ quan tâm và có thể hủy đăng ký bất kỳ lúc nào.
- Khả năng mở rộng: Hệ thống pub/sub có thể dễ dàng mở rộng quy mô để xử lý một số lượng lớn chủ đề và người đăng ký.
- Nó cho phép liên lạc theo thời gian thực giữa nhà xuất bản và người đăng ký.
- Đây là một hệ thống có thể mở rộng có thể xử lý một số lượng lớn chủ đề và người đăng ký.
- Nó linh hoạt vì người đăng ký có thể chọn chủ đề mà họ muốn nhận tin nhắn.
Có một số nhược điểm tiềm ẩn khi sử dụng pub/sub:
- Gửi tin nhắn không được đảm bảo: Vì tin nhắn được gửi không đồng bộ nên không có gì đảm bảo rằng tất cả người đăng ký sẽ nhận được chúng. Điều này có nghĩa là một số tin nhắn có thể bị bỏ lỡ nếu người đăng ký ngoại tuyến hoặc tin nhắn bị trì hoãn vì một lý do nào đó.
- Độ trễ cao hơn: Gửi tin nhắn không đồng bộ có thể dẫn đến độ trễ cao hơn so với gửi tin nhắn đồng bộ (chẳng hạn như với hệ thống nhắn tin truyền thống).
- Lịch sử tin nhắn hạn chế: Hầu hết các hệ thống pub/sub chỉ theo dõi các tin nhắn gần đây nhất cho từng chủ đề, nghĩa là người đăng ký sẽ chỉ nhận được tin nhắn mới sau khi họ đã đăng ký. Đây có thể là một vấn đề đối với các ứng dụng yêu cầu toàn bộ lịch sử tin nhắn.
- Nhà xuất bản phải biết chủ đề của tin nhắn để gửi nó đến đúng người đăng ký.
- Người đăng ký có thể nhận được tin nhắn mà họ không quan tâm nếu họ đăng ký quá nhiều chủ đề.
- Không có gì đảm bảo rằng các tin nhắn sẽ được gửi theo thứ tự hoặc hoàn toàn không.
Danh sách các công nghệ Pub/Sub
- Apache Kafka
- Dịch vụ thông báo đơn giản của Amazon (SNS)
- Google Cloud Pub/Sub
- Lưới sự kiện Microsoft Azure
- IBM Cloud Pub/Sub
- Máy chủ truyền phát NATS
- Sự kiện đám mây
- MQTT
- Dậm chân
- webhook
- Apache ActiveMQ Artemis
- ThỏMQ