AMQP
高级消息队列协议(Advanced Message Queuing Protocol) AMQP 是在应用程序或组织之间传递业务消息的开放标准。
它连接系统,向业务流程提供所需的信息,并可靠地传递实现目标的指令。
关键功能
AMQP连接在:
-
组织-不同组织中的应用程序
-
技术——不同平台上的应用程序
-
时间系统不需要同时可用
-
空间-在一定距离或较差的网络上可靠地工作
业务案例
企业选择AMQP而不是专有产品的主要原因是:
-
实现节约商品化带来的商品;删除供应商锁定
-
连接不同平台上的应用程序;选择合适的工作平台
-
使用全功能的开放标准连接到业务伙伴;消除技术性贸易壁垒
-
以AMQP为基础的创新职位
关键特性
AMQP的目标是:
-
安全
-
可靠性
-
互操作性
-
标准
-
开放
-
底线
AMQP 所提供的强大的、商品化的、多供应商的通信生态系统为商业和创新创造了机会,从而改变了在互联网和云计算中进行业务的方式。
AMQP 旨在完全解决实际问题。
与 JMS 对比
JMS
对比
目前AMQP逐渐成为消息队列的一个标准协议,当前比较流行的rabbitmq、stormmq都使用了AMQP实现。
这是其和JMS的本质差别,AMQP不从API层进行限定,而是直接定义网络交换的数据格式。
这使得实现了AMQP的provider天然性就是跨平台的。意味着我们可以使用Java的AMQP provider,同时使用一个python的producer加一个rubby的consumer。
从这一点看,AQMP可以用http来进行类比,不关心实现的语言,只要大家都按照相应的数据格式去发送报文请求,不同语言的client均可以和不同语言的server链接。
总结
AMQP 终将统一天下。
参考资料
https://spring.io/projects/spring-amqp