RabbitMQ系列(1)--RabbitMQ概述與背景

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

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

  • Spring Cloud為開發(fā)人員提供了快速構建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,715評論 19 139
  • 關于消息隊列,從前年開始斷斷續(xù)續(xù)看了些資料,想寫很久了,但一直沒騰出空,近來分別碰到幾個朋友聊這塊的技術選型,是時...
    預流閱讀 586,709評論 51 787
  • 來源 RabbitMQ是用Erlang實現(xiàn)的一個高并發(fā)高可靠AMQP消息隊列服務器。支持消息的持久化、事務、擁塞控...
    jiangmo閱讀 10,520評論 2 34
  • 什么叫消息隊列 消息(Message)是指在應用間傳送的數(shù)據(jù)。消息可以非常簡單,比如只包含文本字符串,也可以更復雜...
    lijun_m閱讀 1,420評論 0 1
  • AMQP大致內容就是,將消息和隊列綁定起來,規(guī)定讓進入到交換機中的具有某個路由鍵的消息進入到指定隊列中去。 Rab...
    StevenMD閱讀 1,998評論 0 3

友情鏈接更多精彩內容