
RabbitMQ概述
RabbitMQ是一個開源的消息代理和隊列服務器,用來通過普通協(xié)議在完全不同的應用之間共享數(shù)據(jù),或者簡單地將作業(yè)隊列以便讓分布式服務器進行處理
它現(xiàn)實了AMQP協(xié)議,并且遵循Mozilla Public License開源協(xié)議,它支持多種語言,可以方便的和spring集成
消息隊列使用消息將應用程序連接起來,這些消息通過像RabbitMQ這樣的消息代理服務器在應用程序之間路由
消息通信起源
-
Teknekron
1983年一位來自孟買的26歲工程師腦海中浮現(xiàn)了一個激進的想法:為什么沒有一種通用的軟件“總線”--一種通信系統(tǒng),可以解決程序間繁重的信息通信工作呢?來自MIT的硬件設計教育工作者Vivek Ranadive設想了一種通用的軟件總線,就想主板上的總線那樣,供其他應用程序接入,在1983年,Teknekron誕生了 -
TIB
隨后,誕生了世界上第一個現(xiàn)代消息隊列軟件:The information bus -
IBM MQ/MSMQ
20世紀80年代后期,IBM開始研究開發(fā)自己的消息隊列軟件,IBM MQ產品系列問世
同時期,微軟也在消息通信市場嶄露頭角,MSMQ -
JMS
中小技術公司對高價格MQ供應商表示不滿,金融服務公司也對此激動不起來,為了解決這個問題,Java Message Servive在2001年誕生了,JMS只需要針對JMS API編程,選擇合適的MQ驅動即可,JMS會打理好其他部分,問題是你在嘗試使用單獨接口標準化來膠合眾多不同的接口,就想把不同類型的衣服黏在一起,縫合處終究會裂開,使用JMS的應用程序會變得更加脆弱,我們需要新的消息通信標準化方案
救世主AMQP
AMQP:advanced Message Queuing Protocol(高級消息隊列協(xié)議)
2004年開發(fā)
從一開始就設計成為開發(fā)標準,以解決眾多的消息隊列需求和拓撲結構問題
憑借開放,任何人都可以執(zhí)行這一標準,針對標準編碼的任何人都可以和任意AMQP供應商提供的MQ服務器進行交互
消息隊列簡史

關于為什么叫Rabbit
兔子是行動非常迅速的動物而且繁殖起來也非常瘋狂
為什么選擇RabbitMQ
- 除了Qpid外,Rabbit是唯一實現(xiàn)了AMQP標準的代理服務器
- 正是由于Erlang,RabbitMQ集群不可思議的簡單
- 比競爭對手更可靠,更能防止奔潰
(注:內容整理自《RabbitMQ實戰(zhàn)》)
歡迎訪問本人博客查看全部博文:http://wangnan.tech