1、AMQP 歷史
消息隊列(Message Queue)起源於一位來自 MIT 的硬件設計教育工做者 Vivek Ranadivé 設想了一種通用軟件總線,就像主板上的總線那樣,供其餘應用程序接入。Vivek在1983年成立了 Teknekron,高盛等公司做爲第一批用戶再金融交易中採用了 Teknekron的軟件,同時還誕生了第一代消息隊列軟件:Teknekron 的 The Information Bus(TIB)。設計
Teknekron 的 TIB 容許應用開發者創建一系列規則去描述消息內容,只要消息按照這些規則發佈出去,任何消費者應用均可以訂閱感興趣的內容,信息的生產者和消費者徹底解耦,而且能夠再傳輸過程當中靈活混合。這個特性引發了電信特別是新聞機構的注意。1994年路透社收購了 Teknekron 。orm
因爲消息隊列再金融交易中應用的反響,BIM 在1990年也開始研發本身的消息隊列軟件(BIM MQ),而且逐步演化成 WebSphere MQ 並統治着商業消息隊列平臺市場。同時微軟開發了Microsoft Message Queue(MSMQ)。然而這些商業MQ問題在供應商壁壘,各個廠商的 MQ 之間沒法互通。爲了解決這個問題,Java Message Service(JMS)在2001年誕生了,試圖經過提供公共 Java API的方式隱藏MQ各個供應商提供的實際接口,從而跨越壁壘和解決互通問題,可是因爲使用單獨的標準化接口來膠合衆多不一樣的接口使應用程序反而變得更加脆弱。
中間件
可是因爲使用單獨的標準化接口來膠合衆多不一樣的接口使應用程序反而變得更加脆弱。接口
搞不懂這句話的邏輯是哪裏來的,也不懂爲何說AMQP更加優秀。隊列
若是都實現了AMQP的消息中間件A和消息中間件B,難道A提供的客戶端能夠訪問消息中間件B嗎?開發