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