到了 2003 年,一家銀行運行著數十套彼此無法溝通的訊息系統,而每家中介軟體廠商的代理程式都說著各自的私有語言。摩根大通的 John O'Hara 發起了 AMQP,讓不同廠商的訊息軟體能在線路層互通。

初始設計於 2004 年至 2006 年間與 iMatix 共同完成,隨後開放給包括 Cisco、Red Hat 等在内的⼯作小組。AMQP 本身定義訊息格式與協定行為,這點不同於 API 層級的標準,後者讓代理程式無法交換訊息。

開放實作隨後出現——Apache Qpid 與 RabbitMQ——並於 2011 年將工作移交給 OASIS,OASIS 於 2012 年 10 月核准 AMQP 1.0 為標準;ISO/IEC 於 2014 年 4 月跟進。一套由銀行發起的標準,成為企業訊息傳遞的開放骨幹。

一套不屬於任何廠商的線路協定,讓代理程式得以互通

線路層級的規格讓不同廠商的代理程式得以互通

由銀行推動標準,消除了廠商鎖定

RabbitMQ 等開放實作將其推廣至整個產業

OASIS 與 ISO 的地位讓企業得以安心採用

如果你因為某種協定而被鎖定在單一廠商,就自己寫出該協定並無償釋出——標準本身會成為競爭市場。

AMQP 1.0 由 RabbitMQ、Apache Qpid、Microsoft 的 Azure Service Bus 及其他主要代理程式實作,至今仍是核心的企業訊息傳遞標準。MQTT 後來贏得輕量物聯網的利基市場,但 AMQP 保住了企業中介軟體市場。

追溯依據

參考來源

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