2014-04-05 25 views
8

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.

Trả lời

3

Thật không may, mối quan tâm của bạn rất hợp lệ.

Pieter Hintjens has great post on that, tuyên bố rằng "AMQP/1.0 sẽ ngừng hoạt động trong lịch sử như một ví dụ được làm tài liệu chính về cách thất bại nỗ lực tiêu chuẩn hóa và làm tổn thương nhiều người trong quá trình."

Đối với câu hỏi của bạn: "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 điệp không phải là?" Chắc chắn không phải vì bạn nhận được tùy chọn để thay đổi nhà cung cấp dịch vụ môi giới thư của bạn, vì bây giờ không cần thiết. Chỉ có hai tình huống này, tôi sẽ nghĩ về thiên broker nhắn AMQP:

1) Bạn đã quen với điều đó và có mà môi giới dễ dàng có sẵn

2) AMQP vẫn mang lại những lợi thế của việc có khách hàng có sẵn trong nhiều ngôn ngữ lập trình. Nhưng STOMP cũng sẽ phục vụ tại đây.

+0

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. –

+0

@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. –