Như tôi đã hiểu AMQP 0.9.1, lợi ích chính là bạn có thể gửi và nhận tin nhắn và định cấu hình trao đổi/liên kết/hàng đợi của bạn theo cách nhà môi giới độc lập, do đó bạn có thể chuyển đổi môi giới của mình mà không cần quá nhiều đau đầu.Điểm của AMQP là gì?
Hiện tại, AMQP 1.0 chỉ xác định giao thức mức dây, vì vậy bạn thực sự phải biết các chi tiết về môi giới của mình để triển khai hầu hết các mẫu tin nhắn.
Sau đó, tại sao tôi lại ưu tiên một nhà môi giới tin nhắn phù hợp AMQP so với thông báo không phù hợp?
Nếu người môi giới triển khai AMQP 1.0, tôi vẫn bị khóa bằng mã khách hàng cụ thể của nhà môi giới. Với AMQP 0.9.1, tôi về mặt lý thuyết là nhà môi giới độc lập nhưng rất có thể sẽ kết thúc với RabbitMQ, vì họ dường như là những người duy nhất chân thành duy trì sự hỗ trợ đầy đủ cho AMQP 0.9.1.
Trong khi JMS cung cấp API nhắn tin tiêu chuẩn cho Nền tảng Java, AMQP cung cấp giao thức nhắn tin chuẩn trên tất cả các nền tảng. AMQP không cung cấp đặc điểm kỹ thuật cho API tiêu chuẩn ngành. Thay vào đó, nó cung cấp một đặc điểm kỹ thuật cho một giao thức nhị phân cấp dây tiêu chuẩn công nghiệp để mô tả cách cấu trúc và gửi thông báo trên mạng. Với AMQP, chúng tôi có thể sử dụng bất kỳ thư viện khách hàng tuân thủ AMQP nào mà chúng tôi muốn và bất kỳ nhà môi giới tuân thủ AMQP nào. Kết quả là, các ứng dụng nhắn tin sử dụng AMQP hoàn toàn bất khả tri đối với AMQP client API hoặc AMQP message broker mà chúng tôi đang sử dụng. –
@java_geek Trong khi nhận xét của bạn có vẻ gần với ý định ban đầu, nó có vẻ không chính xác ở một vài nơi. AMQP 0.9.1 cho phép bạn mô tả (trao đổi khách hàng và môi giới và duy trì tính tương thích), nhưng với 1.0 điều này không phải lúc nào cũng đúng, vì người môi giới chỉ có thể thực hiện một phần của những gì có thể mong đợi, không phải lúc nào cũng đúng. –