1. 高级消息队列协议(AMQP):
它是一种用于应用程序之间通信的协议。它是一种轻量级协议,支持应用程序传输数据。该协议用于技术的可扩展性和模块化。
Java消息服务(JMS):
它是一种应用程序接口 (API),支持网络中的计算机进行通信。它是一个强大的 API,用于接收通信过程中产生的消息。
AMQP 和 JMS 的区别:
Basis of | AMQP | JMS |
---|---|---|
Abbreviation | Advanced Message Queuing Protocol. | Java Message Service. |
Developed by | It was developed by JPMorgan Chase. | It was developed by Sun Microsystems. |
Working | All the AMQP compatible clients can talk to each other. | The application should use JMS API to communicate. |
Message Model used | It uses Direct, Fanout, Topic and Headers. | It uses Publish/Subscribe and P2P (Point to Point). |
Data types used | AMQP only uses and supports binary data type. | JMS supports five data types named MapMessage, ObjectMessage, Text message, StreamMessage and BytesMessage. |
Security | Security is supported by Simple Authentication and Security Layer (SASL). | Security is not provided and it is depended with the JMS provider. |
Data Flow | It is the producers which sends the message and then it is queued. | It is managed by the producers and send directly to the topic. |
Technology flexibility | It is flexible with many technologies. | It is not technology flexible as made only for Java. |