继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

JMS & ActiveMq

慕哥9229398
关注TA
已关注
手记 1099
粉丝 198
获赞 911

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


打开App,阅读手记
1人推荐
发表评论
随时随地看视频慕课网APP