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/)

About the Author

Ha Trung Vi

View all author's posts

Bài viết khác

Golang

Golang là gì? Go hay còn gọi là Golang là ngôn ngữ lập trình mã nguồn mở, được thiết kế tại Google bởi Robert Griesemer, Rob Pike, and Ken Thompson. Go có cú pháp giống với C và tất nhiên nó là ngôn ngữ lập trình biên dịch (compiled programming language) Cú pháp của ngôn […]

Elasticsearch

Elasticsearch là gì? Elasticsearch là một search engine (công cụ tìm kiếm) rất mạnh mẽ. Elasticsearch cũng có thể coi là một document oriented database, nó chứa dữ liệu giống như một database và thực hiện tìm kiếm trên những dữ liệu đó. Đại khái là thay vì bạn tìm kiếm trên file, trên các […]

Testing

Testing là gì? Thường thì mọi người hiểu khái niệm test chỉ là chạy test, chạy phần mềm nhưng đó chỉ là một phần không phải tất cả các hoạt động test. Các hoạt động test tồn tại trước và sau khi chạy PM bao gồm: lên kế hoạch và kiểm soát, chọn điều kiện […]

Web Security

Có rất nhiều lý do để học về web security như: Bạn là một người dùng lo lắng về việc thông tin cá nhân bị rò rỉ. Bạn là một web developer muốn làm cho trang web của bạn bảo mật hơn. Bạn là một web developer đang tìm việc, và bạn muốn sẵn sàng […]

Cache

Trong vài năm trở lại đây, công nghệ thông tin đã trở thành bàn đạp cho sự cải thiện mạnh mẽ cho vô số các loại hình kinh doanh. Song song, kiến trúc của các phần mềm cũng ngày càng trở nên phức tạp và số lượng người dùng của chúng đã và đang tăng […]

Docker

Docker là gì? Docker là một nền tảng phần mềm giúp bạn building, deploying và running ứng dụng dễ dàng hơn bằng cách sử dụng các containers (trên nền tảng ảo hóa). Docker ban đầu Docker  được viết bằng PyDockerthon, hiện tại đã chuyển sang Golang. Docker đóng gói phần mềm thành các container tiêu […]