到2003年,一家银行运行着几十个彼此无法通信的消息系统,每个中间件供应商的代理都使用私有语言。摩根大通的约翰·奥哈拉启动了AMQP项目,使来自不同供应商的消息软件在线路层面能够互通。

初步设计在2004年到2006年间与iMatix合作完成,随后向包括思科、红帽等公司在内的工作组开放。AMQP定义了消息格式和协议本身的行为,不像API级标准那样让代理无法交换消息。

开源实现随后出现——Apache Qpid和RabbitMQ——2011年,这项工作移交给OASIS,后者于2012年10月批准AMQP 1.0为标准;2014年4月,ISO/IEC也予以批准。由银行启动的标准成为企业消息传递的开放骨干。

一个不归任何供应商所有的线路协议,使各代理之间能够互通

线路级规范使不同供应商的代理能够互通

银行推动的标准消除了供应商锁定

像RabbitMQ这样的开源实现推动了行业普及

OASIS和ISO的认可让企业放心采用

如果你因协议而被供应商锁定,那就自己编写协议并免费提供——标准将成为竞争市场。

AMQP 1.0已被RabbitMQ、Apache Qpid、微软Azure服务总线等主要代理实现,并且仍是企业消息传递的核心标准。MQTT后来在轻量物联网领域胜出,但AMQP仍掌握着企业中间件市场。

从这里,追溯依据

参考来源

  1. Advanced Message Queuing Protocol Wikipedia · en.wikipedia.org
  2. About AMQP AMQP · amqp.org