为了账号安全,请及时绑定邮箱和手机立即绑定

JMS & ActiveMq

标签:
Java

JMS

先来了解下什么叫MOM

MOM(Message-oriented Middleware) 面向消息的中间件 。分布式系统的集成:利用高效可靠的消息传递机制进行平台无关的数据交流,并基于数据通信进行分布式系统的集成。

  • 定义

    • Java Message Service

    • 是一个java平台关于MOM(消息中间件)的api,用于两个程序之间,或分布式系统中发送消息,进行异步通讯。

  • 优势

    • 会保证消息只被消费一次

    • 是一个异步的消息服务

    • 客户端获取消息的时候,不是主动获取,而是消息会主动发送给客户端

    • Asynchronous 异步

    • 可靠 Reliable

  • 消费模型

    • p2p 点对点

    • publish/subscribe 发布订阅

  • 规范


    webp

    image

  • Message组成

    • Header 消息头

    • properties 属性  主要是对消息头中属性的补充

    • body 消息体  用户自定义 包括多种 TextMessage StreamMessage MapMessage ObjectMessage BytesMessage

ActiveMq

优势

  • 加快系统响应  系统分布式解耦,异步并行,加快系统对用户请求的访问速度

  • 降低系统耦合  子系统间通过队列通信,避免相互耦合和影响

  • 数据缓存  消息队列提供亿级的消息堆积能力

activemq就是实现了jms的一种provider

优化 及参数详解

  • 消息堆积

生产者

生产者发送的消息 主要分为两种 PERSISTENT Message(持久化)和NON_PERSISTENT

发送NON_PERSISTENT消息发送方默认使用异步方式。异步发送并非绝对的异步,发送者会在发送一定大小之后等待回执。

消费者

预取数量  prefetchSize
确认机制 ACK  用JMS中的acknowledge来设置

死信

多次消费都失败 那就放入一个异常队列 等待处理



作者:小绵羊你毛不多
链接:https://www.jianshu.com/p/25a1dd1a6540


点击查看更多内容
1人点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消