2012-04-09 53 views
6

Có cách nào để gửi dữ liệu đến RabbitMQ từ $ .ajax không?REST API cho rabbitmq

Ứng dụng của tôi bao gồm hàng nghìn máy khách web (viết trên js) và dịch vụ WCF REST và bây giờ tôi đang cố gắng tìm ra cách tôi có thể tạo điểm mở rộng cho ứng dụng của mình. Ý tưởng là để có một trường hợp thỏmq mà nhận được tin nhắn từ khách hàng js đặt trên một mặt, và các trường hợp của WCF Workflow Services đang nhận tin nhắn đang chờ xử lý từ hàng đợi.

Tôi hiểu rằng AMQP và HTTP là những điều khá khác nhau.

Vì vậy, câu hỏi là - có giao diện REST cho mq thỏ hay một số loại cổng cho nó

Trả lời

4

Có rất nhiều plugin HTTP của bên thứ ba được liệt kê trên số developer tools page của RabbitMQ và chúng cũng cung cấp experimental JSON-RPC plugin cho phép AMQP truy cập HTTP.

Bạn cũng nên xem RabbitJSSockJS để xem nhóm Thỏ đang làm gì để đưa thông điệp đến thế giới của node.js và WebSockets, tương ứng.

0

Có. Plugin thỏmq_jsonrpc_channel mà bạn có thể nghiên cứu tại RabbitMQ Plugins

Dường như nó cung cấp AMQP qua HTTP với JSON.

1

Các RabbitMQ REST của tài liệu API cho việc phát hành 3.4.3 có thể được tìm thấy ở đây:

http://hg.rabbitmq.com/rabbitmq-management/raw-file/rabbitmq_v3_4_3/priv/www/api/index.html

Nó cũng cho phép xuất bản các thông điệp bên cạnh nhiệm vụ quản lý.

Lưu ý quan trọng từ các tài liệu liên quan:

Xin lưu ý rằng các xuất bản/lấy đường dẫn trong API HTTP được định cho tiêm thông điệp kiểm tra, chẩn đoán vv - họ không thực hiện giao hàng đáng tin cậy và vì vậy nên được coi là công cụ của sysadmin thay vì so với API chung cho nhắn tin.

+3

Điều bạn đã chỉ ra ở trên là API HTTP được gói của Plugin quản lý RabbitMQ, cơ bản là API RESTful. Tuy nhiên, nó không thực hiện phân phối tin nhắn đáng tin cậy vì vậy nó có thể không phải là một ý tưởng tốt để sử dụng nó trong các hệ thống sản xuất. Đây là câu trích dẫn: "Xin lưu ý rằng các đường dẫn publish/get trong HTTP API được dùng để tiêm các thông điệp kiểm tra, chẩn đoán, vv - chúng không thực hiện phân phối đáng tin cậy và vì vậy nên được coi là công cụ của sysadmin thay vì API chung cho nhắn tin . " – Devy