1. 程式人生 > >MQ雙修之(ActiveMq & RabbitMQ)

MQ雙修之(ActiveMq & RabbitMQ)

1. 簡單介紹

雙方都是鼎鼎有名的免費開源MQ專案,ActiveMq是Java,RabbitMQ是Erlang,理論上,RabbitMQ的效能比ActiveMq更強,是非Java系統的首選,ActiveMq是Java的,整套系統如果本來就是Java的,配合的默契更佳。雖然目前專案是java的,所以使用ActiveMq,但是出於參考學習的態度,把RabbitMq一起搭建學習了更好。

2. 下載地址

RabbitMQ http://www.rabbitmq.com/   1.7.0 (Server, Java ;Client, Erlang distribution)

3. 基本介紹
RabbitMQ:

基於AMQP協議(Advanced Message Queue Protocol)
ActiveMQ:基於STOMP協議

rabbitMQAMQP 用 Erlang 實現的 MQ 。之前不是很理解,為什麼要用 Erlang 來“又實現一箇中間件”呢?這麼做能發揮 Erlang 的優勢麼?機緣巧合,最近了解了一下 AMQP ,有了一點新的認識。

AMQP 主要是由金融領域的軟體專家們貢獻的創意,而聯合了通訊和軟體方面的力量,一起打造出來的規範。【Contributors: JPMorgan Chase Bank & Co., Cisco Systems, Inc., Credit Suisse, Envoy Technologies Inc., iMatix Corporation, IONA Technologies, Rabbit Technologies Ltd., Red Hat, Inc., TWIST Process Innovations Ltd, and 29West, Inc.】粗略的從概念上來講 AMQP 首先滿足的是金融系統的訊息通訊業務需求。

這是一個可以和 JMS 進行類比的訊息中介軟體開放規範,所不同的是 AMQP 同時定義了訊息中介軟體的語意層面和協議層面;另外一個不同是 AMQP 是語言中立的,而 JMS 僅和 Java 相關。AMQP 在“語意層面的定義”,這就意味著,它並不僅僅是象 JMS 或者其他的 MQ 一樣,僅能按照預定義的方式工作,而是“可程式設計”的訊息中介軟體而“語言中立”則意味著只要遵循 AMQP 的協議,任何一種語言都可以開發訊息元件乃至中介軟體本身。比如說這樣的場景:“Java 寫的訊息端(新的前端)通過 Erlang 寫的訊息中介軟體(基礎設施)與 C 寫的另外一個訊息端(遺留系統)進行訊息互動”。AMQP 是一個開放標準,目前還在 0.9 版本。尚未成熟,但市場上已經出現了很多這個標準的
實現產品
在 AMQP 所描繪的美好前景下,我們可以這麼設想將來構建在成熟之後構建在 AMQP 之上的金融系統。前端程式設計師用他們熟悉的“工業語言”來構建系統中新的應用模組。後端程式設計師則繼續用“老舊語言”在“遺產系統”上慢慢改進。當然,金融系統需要他們賴以溝通訊息互相呼叫的“基礎設施”必須堅若磐石。為業界提供“高併發,易擴容”的產品,這似乎正是 Erlang 的強項。之前聽說“ Erlang 進入金融系統”,具體的事例,大概就是這件事了。

相關推薦

MQ(ActiveMq & RabbitMQ)

1. 簡單介紹 雙方都是鼎鼎有名的免費開源MQ專案,ActiveMq是Java,RabbitMQ是Erlang,理論上,RabbitMQ的效能比ActiveMq更強,是非Java系統的首選,ActiveMq是Java的,整套系統如果本來就是Java的,配合的默契更佳。雖然目前專案是java的,所以使用Act

activemq rabbitmq kfaka的異同點

增加 fse 日誌系統 增加節點 配置 可用性 分布式 作者 應該 01)kfaka與傳統意義上的mq的區別 更快!單機上萬TPS 傳統的MQ,消息被消化掉後會被mq刪除,而kafka中消息被消化後不會被刪除,而是到配置的expire時間後,才刪除 傳統的MQ,消息的O

福慧(both)

names none 它的 printf ostream 之間 using mem 路徑 福慧雙修(both)題目描述:菩薩為行,福慧雙修,智人得果,不忘其本。——唐·慧立《大慈恩寺三藏法師傳》有才而知進退,福慧雙修,這才難得。&mda

python仙 入門之後不放棄?

判斷 enc pytho python upd try __name__ restore 更新 不以學習為目的的學習,那是耍流氓~所以流氓都成了有錢人。。。。。。 額,不貧了。從某天開始,次博客只談學習和感情,不談工作,不扯沒用的~

Oracle數據庫中心道:ASM vs VPLEX (轉)

復用 讀寫 並且 壓力測試 發出 我們 config 影響 計算節點 雙活方案對比:ASM vs V-PLEX 作者:王文傑 Oracle公司 Principle system analyst Oracle高級服務部 Oracle數據庫中心的災備的演變,經歷了多年的

【BZOJ2407/4398】探險/福慧 最短路建模

同時 amp lin bsp next 可能 ring string min 【BZOJ2407】探險 Description 探險家小T好高興!X國要舉辦一次溶洞探險比賽,獲獎者將得到豐厚獎品哦!小T雖然對獎品不感興趣,但是這個大振名聲的機會當然不能錯過! 比賽

bzoj 4398 福慧 - 最短路

bzoj otto for esp accep 不存在 目的 solid 前行 Description 菩薩為行,福慧雙修,智人得果,不忘其本。——唐朠立《大慈恩寺三藏法師傳》有才而知進退,福慧雙修,這才難得。—&mdas

消息中間件ActiveMQ

消息中間件 ActiveMQ 一,簡介ActiveMQ是較優秀的JMS實現框架,在異步消息通信方面有簡單便捷,性能良好的優點。 二,安裝下載地址:http://mirror.bit.edu.cn/apache/activemq/解壓即可 三,啟動windows啟動linux啟動 四,java應用依賴的

MQ確認機制事務機制----confirm串行

技術 全部 main 就會 多條 技術分享 接受 send wait 一:介紹 1.說明原理   A:生產者將信道設置成confirm模式,一旦信道進到confirm模式,所有該信道上發布的消息都會被指派一個唯一的ID(從1開始)。   一旦消息被投遞到所有匹配的隊列後,b

ActiveMQ RabbitMQ RokcetMQ Kafka實戰 消息隊列中間件視頻教程

基於 存儲 中間 商品數據 ssa lan 如何 spa ring ActiveMQ第01節:ActiveMQ入門和消息中間件第02節:JMS基本概念和模型第03節:JMS的可靠性機制第04節:JMS的API結構和開發步驟_rec_rec第05節:Broker的啟動方式吖第

訊息中介軟體(ActiveMQ RabbitMQ KafKa對比)

轉摘自:https://blog.csdn.net/vtopqx/article/details/76382934 1)TPS比較: Kafka最高,RabbitMq 次之, ActiveMq 最差。2)吞吐量對比: kafka具有高的吞吐量,內部採用訊息的批量處理,zero-copy機制,資料

SpringBoot2.0整合RabbitMQ

案例:   Springboot 對RabbitMQ的支援 公共的pom:   <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSc

訊息中介軟體介紹 ActiveMQ的安裝

訊息中介軟體簡介:https://blog.csdn.net/leexide/article/details/80035462 JMS其實就是訊息中介軟體的java訊息服務   訊息中介軟體的安裝 安裝非常簡單,直接上傳到linux系統中,然後解壓,開啟它裡面bin目錄裡面

RabitMQ系列 Spring RabbitMQ流量削鋒實現案例搶紅包

一、案例說明:電商的秒殺和搶購,對我們來說,都不是一個陌生的東西。然而,從技術的角度來說,這對於Web系統是一個巨大的考驗,我們都知道,秒殺類,搶購類應用都有一個共同點,即瞬時請求巨大。本文中用一個多使用者搶紅包來類比秒殺搶購類的應用。普通的搶紅包實現如下圖: 當開始進行搶紅包時,系統

RabbitMQ系列RabbitMQ幾種典型模式

本文詳細介紹簡單模式Simple、工作模式Work、釋出訂閱模式Publish/Subscribe、路由模式Routing、萬用字元模式Topics、遠端呼叫模式RPC(暫不對該佇列模式進行詳解) 模式1:簡單模式(Simple / HelloWorld 單生產單消費) 簡單的傳送與

RabbitMQ系列RabbitMQ安裝

上一篇文章簡單介紹了RabbitMQ,現在來安裝RabbitMQ Windows RabbitMQ安裝 1.進入官網下載RabbitMQ 官網地址:http://www.rabbitmq.com,進入後訪問getstart進入下載介面 選擇Windows版本 下載Erlang和Rab

CentOS7安裝rabbitmq-server及解除安裝rpm包

1、解除安裝rpm包     1.1 查詢rpm包: //把包名相關的包都列出來 rpm -qa | grep 包名 //你想解除安裝的軟體,後面是包名稱,最後的版本號是不用打的 rpm -e 檔

Python路【第14章】:Python快取 RabbitMQ、Redis、Memcache、SQLAlchemy

Python之快取 RabbitMQ、Redis、Memcache、SQLAlchemy 一、Memcached Memcached 是一個高效能的分散式記憶體物件快取系統,用於動態Web應用以減輕資料庫負載。它通過在記憶體中快取資料和物件來減少讀取資料庫的次數,從而提高動態、資料庫驅動網站的速度。Mem

spring boot整合activemq rabbitmq

1.下載並安裝activemq服務(windows),下載地址:http://download.csdn.net/download/loveuserzzz/9938202 2.建立springboot工程,並引入依賴 <dependency> <groupI

java B2B2C Springcloud多租戶電子商城系統-訊息佇列ActiveMQ

什麼是ActiveMQ? ActiveMQ 是Apache出品,最流行的,能力強勁的開源訊息匯流排。ActiveMQ 是一個完全支援JMS1.1和J2EE 1.4規範的 JMS Provider實現,儘管JMS規範出臺已經是很久的事情了,但是JMS在當今的J2EE應用中間仍然扮演著特殊的