Tôi đang cố gắng hiểu JMS là gì và làm thế nào nó được kết nối với thuật ngữ AMQP. Tôi biết JMS là một API và AMQP là một giao thức.

Dưới đây là những giả định của tôi (và cả câu hỏi nữa)

RabbitMQ sử dụng giao thức AMQP (thay vì thực hiện giao thức AMQP) Các máy khách Java cần sử dụng các thư viện máy khách giao thức AMQP để kết nối / sử dụng RabbitMQ API JMS xuất hiện ở đâu? API JMS nên sử dụng thư viện khách AMQP để kết nối với RabbitMQ? Thông thường chúng ta sử dụng JMS để kết nối các nhà môi giới tin nhắn như RabbitMQ, ActiveMQ, v.v … Vậy giao thức mặc định được sử dụng ở đây thay vì AMQP là gì?

Một số ở trên có thể bị câm. 🙂 Nhưng cố gắng quấn đầu tôi xung quanh nó.

java jms rabbitmq message-queue amqp
chia sẻ | theo dõi
đã hỏi 03:43:29 01/03/2013
Bùi Nhật TấnBùi Nhật Tấn
0 60 385
3
KevinRave: Câu trả lời được chọn là sai ở một số điểm chính mà nó đưa ra. Tôi đã thêm một bình luận để bạn có thể nhìn vào nó. – Phạm Kỳ Anh 17:43:58 08/05/2013
KevinRave Tôi đã chỉnh sửa câu trả lời. Bây giờ phần gây tranh cãi đã thay thế. Bây giờ toàn bộ câu trả lời là hoàn toàn OK – Đỗ Khắc Dũng 03:19:20 17/07/2013

Tôi không biết ai sửa câu trả lời của tôi và cho điểm không đúng cách này mà là ở num 3 .. bởi vì tôi đã có hỏi những điều mà kevin đang nói vào thời điểm 2.Always đọc cẩn thận trước khi bỏ phiếu xuống hoặc làm gợi ý

– Nguyễn Xuân Thảo 03:24:25 17/07/2013
1

Hãy xem phần JMS trong bài viết này. Nó có một lời giải thích rất chi tiết saipraveenblog.wordpress.com/2014/12/08/ Khăn

– Hoàng Phương Loan 16:06:47 15/12/2014
thêm 1 bình luận  | 

6 trả lời 6

Hoạt động Cũ nhất Hữu ích
96

Câu hỏi của bạn hơi lộn xộn và giống như một câu hỏi khó trong một câu hỏi 🙂 (Vì giáo viên luôn cố gắng hỏi những câu hỏi đơn giản làm phức tạp: DI hy vọng bạn không phải là giáo viên :)) Chúng ta hãy xem từng câu hỏi một.

Như bạn đã biết:

API dịch vụ thông báo Java (JMS) là API trung gian hướng thông báo Java (MOM) để gửi tin nhắn giữa hai hoặc nhiều máy khách . JMS là một phần của Nền tảng Java, Phiên bản doanh nghiệp và được xác định bởi một đặc tả được phát triển theo Quy trình cộng đồng Java là JSR 914. Đây là một tiêu chuẩn nhắn tin cho phép các thành phần ứng dụng dựa trên Phiên bản Java Enterprise (Java EE) tạo ra, gửi, nhận và đọc tin nhắn.

Bạn đang xem: Amqp là gì

Xem thêm: Chẳng Có Gì Là Mãi Mãi

Xem thêm: Pen Pineapple Apple Pen Là Gì, Pen Pineapple Apple Pen???? Có Nghĩa Là Gì

Nó cho phép giao tiếp giữa các thành phần khác nhau của một ứng dụng phân tán được kết nối lỏng lẻo, đáng tin cậy và không đồng bộ .

Bây giờ (từ Wikipedia ):

Giao thức xếp hàng tin nhắn nâng cao (AMQP) là một giao thức lớp ứng dụng tiêu chuẩn mở cho phần mềm trung gian hướng thông báo. Các tính năng xác định của AMQP là định hướng tin nhắn, xếp hàng, định tuyến (bao gồm cả điểm tới điểm và xuất bản và đăng ký), độ tin cậy và bảo mật.

Và điều quan trọng nhất (một lần nữa từ Wikipedia):

Không giống như JMS, chỉ định nghĩa một API, AMQP là một giao thức cấp dây. Giao thức cấp dây là một mô tả về định dạng của dữ liệu được gửi qua mạng dưới dạng một luồng bát phân. Do đó, bất kỳ công cụ nào có thể tạo và giải thích các thông báo phù hợp với định dạng dữ liệu này đều có thể tương tác với bất kỳ công cụ tuân thủ nào khác bất kể ngôn ngữ triển khai

Một số điều quan trọng bạn nên biết:

Hãy nhớ rằng AMQP là một công nghệ nhắn tin không triển khai API JMS. JMS là API và AMQP là một giao thức. Vì vậy, không có nghĩa gì khi nói rằng giao thức mặc định của JMS là gì, tất nhiên các ứng dụng khách sử dụng HTTP / S làm giao thức kết nối khi gọi Dịch vụ WebLogic. JMS chỉ là một đặc tả API. Nó không sử dụng bất kỳ giao thức nào. Nhà cung cấp JMS (như ActiveMQ) có thể đang sử dụng bất kỳ giao thức cơ bản nào để nhận ra API JMS. Ví dụ: Apache ActiveMQ có thể sử dụng bất kỳ giao thức nào sau đây: AMQP, MQTT, OpenWire, REST (HTTP), RSS và Atom, Stomp, WSIF, WS Thông báo, XMPP. Tôi khuyên bạn nên đọc Sử dụng JMS Transport làm Giao thức kết nối .

Chúc may mắn 🙂

Chuyên mục: Hỏi Đáp