AMQP和JMS的区别
1. 高级消息队列协议:
它是一种用于应用程序之间通信的协议。它是一种轻量级协议,支持应用程序进行数据传输。该协议具有可扩展性和模块化的特点。
2. Java消息服务(JMS):
它是一种支持网络中计算机通信的应用程序接口(API)。它是一个功能强大的API,用于接收通信过程中生成的消息。
AMQP和JMS的区别:
比较基础 | AMQP | JMS |
---|---|---|
缩写 | 高级消息队列协议(Advanced Message Queuing Protocol)。 | Java消息服务(Java Message Service)。 |
开发商 | 它由摩根大通开发。 | 它是由太阳微系统公司开发的。 |
工作方式 | 所有兼容AMQP的客户端都可以相互通信。 | 应用程序应该使用JMS API进行通信。 |
消息模型使用 | 它使用Direct, Fanout, Topic和header。 | 它使用发布/订阅和P2P(点对点)。 |
抽象 | amqp是一种协议。 | JMS是一个标准API。 |
数据类型 | amqp使用的数据类型只使用并支持二进制数据类型。 | JMS支持五种数据类型,分别为MapMessage、ObjectMessage、Text message、StreamMessage和BytesMessage。 |
安全 | SASL (Simple Authentication and Security Layer)支持安全。 | 没有提供安全性,它依赖于JMS提供程序。 |
数据流 | 由生产者发送消息,然后将消息排队。 | 它由生产者管理,并直接发送到主题。 |
技术灵活性 | 它在许多技术上都是灵活的。 | 它不是专门为Java开发的技术灵活性。 |