Message Broker là gì?
Message Broker là các module phần mềm nằm trong các giải pháp phần mềm trung gian nhắn tin hay phần mềm gian hướng tin nhắn (MOM). Loại phần mềm trung gian này cung cấp cho các nhà phát triển một phương tiện chuẩn hóa để xử lý luồng dữ liệu giữa các thành phần của ứng dụng, qua đó cho phép họ tập trung vào logic cốt lõi của ứng dụng.
Phần mềm này cho phép các ứng dụng, hệ thống, dịch vụ giao tiếp và trao đổi thông tin với nhau, ngay cả khi chúng được viết bằng các ngôn ngữ hay được thực hiện trên những nền tảng khác nhau. Để thực hiện điều này, Message Broker đã dịch các tin nhắn giữa các giao thức nhắn tin chính thức, từ đó cho phép các dịch vụ “nói chuyện” trực tiếp với nhau.
Ngoài ra, message broker còn đóng vai trò trung gian giữa các ứng dụng, cho phép xác nhận, lưu trữ, định tuyến và gửi tin nhắn đến các điểm đến thích hợp. Người dùng có thể gửi tin nhắn bất kể người nhận đang ở đâu, có bao nhiêu người và đang hoạt động hay không.
Các mô hình Message Broker
- Nhắn tin point-to-point
Đây là dạng phân phối được sử dụng trong hàng đợi tin nhắn có mối quan hệ 1-1 giữa người gửi và người nhận, mỗi tin nhắn chỉ được gửi đến một người nhận và chỉ được sử dụng một lần.
- Nhắn tin publisher/subscriber
Mô hình này thường được gọi là “pub/sub”, người sản xuất tin nhắn xuất bản nó theo một chủ đề và nhiều tin nhắn mà người tiêu dùng đăng ký theo chủ đề họ muốn nhận. Đây là một phương pháp phân phối theo kiểu truyền phát, trong đó có mối quan hệ giữa một với nhiều người xuất bản với người tiêu dùng. Tất cả các thông báo được xuất bản cho một chủ đề sẽ được phân phối cho tất cả các người dùng đã đăng ký chủ đề đó.
Sự khác biệt giữa Message Broker và Message Queue
Message Queue tạo điều kiện giao tiếp giữa các ứng dụng bằng cách gửi, nhận và lưu trữ tin nhắn bằng cách sử dụng cấu trúc dữ liệu queue. Mặc dù message queue được dùng để truyền tin nhưng phần mềm này không thể đọc được nội dung những thông điệp đó.Message Broker chỉ đơn giản là một cơ chế mở rộng việc sử dụng Message Queue, nhưng khác với Message Queue, các nhà môi giới tin nhắn có thể đọc nội dung của thông tin được truyền qua chúng. Ngoài ra, các nhà môi giới còn có thể xử lý thông tin từ tất cả các loại nguồn.Tóm lại, Message Broker chịu trách nhiệm thực hiện:
- Chuyển đổi giữa các giao thức vận chuyển dữ liệu
- Chuyển đổi định dạng tin nhắn giữa các dịch vụ
- Định tuyến giao tiếp giữa các nhiệm vụ
- Phân phối các sự kiện từ nhiều nguồn khác nhau
Như vậy, Message Broker sử dụng Message Queue để truyền thông tin giữa tất cả các bên liên quan. Nói một cách đơn giản, Message Queue là một cấu trúc dữ liệu được tạo ra để tiêu thụ và Message Broker là một phần mềm quản lý hàng đợi tin nhắn.
(https://tinasoft.io/vi/blogs/message-broker-la-gi/)