Không thực sự là định nghĩa chính thức cho nhà môi giới JMS là gì, nhưng có sự khác biệt về khái niệm giữa hàng đợi tin nhắn và người môi giới. Tôi đã bắt nó ở đây.
- Hàng đợi thư chỉ nhìn vào tiêu đề thư để tìm nơi gửi thư, hàng đợi thư không kiểm tra nội dung thư hoặc thực thi bất kỳ mã nào biến đổi nội dung của nội dung thư. Nhiệm vụ xếp hàng tin nhắn là gửi tin nhắn, cuối cùng, một lần và chỉ một lần, và để chúng được gửi đi.
- Nhà môi giới thư cung cấp môi trường lập trình nơi bạn có thể viết mã chuyển đổi tin nhắn một cách dễ dàng và hiệu quả. Ví dụ: bạn có thể cần phải chuyển đổi nội dung của thư từ định dạng A sang định dạng B và bạn không muốn khách hàng cũ sử dụng định dạng A phải viết lại để bạn viết chương trình dịch thông điệp và triển khai nó cho thư người môi giới. Trong trường hợp này,
message broker
sẽ là một quá trình riêng biệt có thể chạy trên một máy riêng biệt chịu trách nhiệm chạy mã xử lý tin nhắn.
Giá trị lớn của người môi giới thư là họ có thể thực hiện một số điều thực sự tốt đẹp để bạn xử lý thư đồng thời, không xử lý logic, triển khai xử lý logic, theo dõi và ghi nhật ký ... một nhà môi giới tin nhắn như một máy chủ ứng dụng chuyên dụng để viết mã xử lý tin nhắn, có thể bằng một ngôn ngữ cấp cao tùy chỉnh. Ví dụ, IBM môi giới tin nhắn có thể được lập trình trong một ESQL một phần mở rộng của SQL cùng với một sơ đồ và các nút mà bạn kết nối với nhau. Các chương trình được viết cho một borker tin nhắn sẽ ngắn hơn nếu bạn đã tự viết tất cả mã bằng cách sử dụng JMS thuần túy.
Nhà môi giới có thể được tập trung hoặc phân phối, vì vậy, ví dụ bạn có thể có một nhà môi giới trung tâm ở New York, có khách hàng ở Luân Đôn và Hồng Kông kết nối với nó. Hoặc bạn có thể có nhà môi giới được phân phối và có một cá thể chạy ở Luân Đôn và Hồng Kông để xử lý thông điệp gần nguồn/đích của thư, tất cả sẽ phụ thuộc vào cơ sở hạ tầng quản lý của bạn và những tài nguyên khác như cơ sở dữ liệu cần nói chuyện với.