消息中間件

常見的消息中間件比較

ActiveMQ RabbitMQ RocketMQ Kafka
性能(單臺) 6000+ 萬級(12000+) 十萬級 百萬級
消息持久化 支持 支持 支持 支持
多語言支持 支持 支持 很少 支持
社區活躍度 很少
支持協議 多(JMS AMQP) 多(AMQP STOMP MQTT)
綜合評價 優點: 成熟,已經在很多公司得到應用。較多的文檔。各種協議支持較好,有多個語言的成熟客戶端。
缺點: 性能較弱。缺乏大規模吞吐的場景的應用,有江河日下之感。
優點:性能較好,管理界面較豐富,在互聯網公司也有較大規模的應用,有多個語言的成熟客戶端。
缺點:內部機制很難了解,也意味很難定製和掌控。集羣不支持動態擴展。
優點:模型簡單,接口易用。在阿里有大規模應用。分佈式系統,性能很好,版本更新很快。
缺點:文檔少,支持的語言較少,尚未主流。
優點:天生分佈式,性能最好,所以常見用於大數據領域。
缺點:運維難度大,偶爾有數據混亂的情況,對ZooKeeeper強依賴。多副本機制下對帶寬有一定的要求。

JMS規範

JMS規範模型包含如下幾個要素:

連接工廠

JMS連接

JMS會話

JMS目的/ Broker

JMS生產者

JMS消費者

JMS消息模型

Point-to-Point(P2P) / 點對點 在這裏插入圖片描述

Topic/ 主題(發佈訂閱(Pub/Sub) )在這裏插入圖片描述

ActiveMQ安裝、部署和運行

ActiveMQ安裝、部署和運行
http://activemq.apache.org/download.html

運行後在瀏覽器中訪問http://127.0.0.1:8161/admin
用戶名和密碼:admin/admin

ActiveMQ中,缺省 61616爲服務端口 8161爲管理控制檯端口

使用ActiveMQ

DEMO
使用原生ActiveMQ的API編程(消費者的接收方式:同步和異步)
與Spring結合(操作多種消息類型)
與SpringBoot結合

code: https://github.com/menxu/demo-mq

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章