消息中间件之JMS实践(ActiveMQ)
1、消息中間件作用
作為一個消息傳遞中間層,方便信息發(fā)送者和接受者通信。
2、消息中間件好處
1、信息解耦:信息發(fā)送方和接收方通過中間件通信,不需要直接通信。
2、異步:消息被中間件處理,發(fā)送方和接收方都不用直接通信。
3、安全可靠:中間件做的還是很可靠地。。
4、橫向擴(kuò)展:支持多信息發(fā)送方和接收方
5、順序保證:中間件功能。
3、常見消息中間件
JMS(Java Message Service):java平臺中面向消息通信的API
1、ActiveMQ:Apache開源總線
2、RabbitMQ:同樣是開源的,是一種AMQP協(xié)議實現(xiàn),服務(wù)器是erlang編寫
3、kafka:支持高吞吐量的分布式訂閱系統(tǒng),是一種分布式、可靠地、分區(qū)的日志訂閱系統(tǒng)
4、JMS
1、隊列模型:客戶端包括生產(chǎn)者和消費(fèi)者、隊列中的(一個)消息只能被一個消費(fèi)者消費(fèi);消費(fèi)者可以隨時消費(fèi)隊列中的消息
2、主題模型:客戶端包括發(fā)布者和訂閱者;主題中的消息能被所有訂閱者訂閱;消費(fèi)者不能消費(fèi)到訂閱前發(fā)布的消息
5、隊列模式代碼
1、生產(chǎn)者
2、消費(fèi)者
需要注意的是jdk版本需要是1.8以上
6、主題模式實踐
1、生產(chǎn)者代碼
2、消費(fèi)者代碼
7、綜述
ActiveMQ的主題模式和隊列模式代碼大同小異,只需要關(guān)注主題模式是發(fā)布訂閱模型、隊列模式是生產(chǎn)者消費(fèi)者模型。發(fā)布訂閱是一種廣播形式,可以用來做消息同步,而生產(chǎn)者消費(fèi)者模型可以用來做負(fù)載均衡。
在此我向大家推薦一個架構(gòu)學(xué)習(xí)交流群。交流學(xué)習(xí)群號:478030634 里面會分享一些資深架構(gòu)師錄制的視頻錄像:有Spring,MyBatis,Netty源碼分析,高并發(fā)、高性能、分布式、微服務(wù)架構(gòu)的原理,JVM性能優(yōu)化、分布式架構(gòu)等這些成為架構(gòu)師必備的知識體系。還能領(lǐng)取免費(fèi)的學(xué)習(xí)資源,目前受益良多
注:關(guān)注作者微信公眾號,了解更多分布式架構(gòu)、微服務(wù)、netty、MySQL、
spring、性能優(yōu)化、等知識點。公眾號:《Java爛豬皮》
總結(jié)
以上是生活随笔為你收集整理的消息中间件之JMS实践(ActiveMQ)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: sqlserver 性能问题
- 下一篇: ruby 反射机制常用方法