消息中间件之AcitveMQ详解

前言

前面我们有一篇关于A c t i v e M Q的安装教程,相信有很多小伙伴已经都了解到怎么安装了!今天我们看一下如何使用这一老牌的消 息 中 间 件

什么是 消 息 中 间 件

使用之前我们先了解一下消 息 中 间 件的定义,看一下百度百科给我们的定义!
应用系统间消 息 传 输 服 务 软 件
消 息 中 间 件 是基于队 列与消 息传递技术,在网络环境中为应用系统提供同步或异步、可靠的消 息 传 输的支撑性软件系统

作用

中间件的作用有三个,分别是:
1、降低耦合
2、流量削峰
3、异步提升性能

应用场景

消 息 中 间 件的应用场景还是比较多的,下面简单的列出几个使用场景

异步通信

直白点就是通过异步操作实现部分功能,避免同步执行。

解耦

降低项目之间的间的依赖程度,针对异构系统进行适配。在项目初始阶段不会预言到系统会做那些扩展,为了不影响系统的稳健,预埋一些处理,创建一些隐含的接口来处理,当有具体变化的时候,可以动态扩展及处理。只要保证他的规范是遵守接口协议即可

顺序保证

在某些特定的场景中,数据处理的顺序都非常重要的。大部分消息队列本来就是排序的,并且能保证数据会按照特定的顺序来执行特定的处理。

数据信息处理

分 布 式 系 统 产生的海 量 数 据 流,比如:监控数据、业务日志、用户行为埋点等,针对这些数据流进行实时或批量采集汇总,目前进行大数据分析是当前互联网的必备技术,通过 消 息 队 列 完成此类数据收集是最好的处理方案。

削峰

在网站的访问量急增的情况的时候,我们应用程序仍然需要继续发挥作用,但是,遇到这样的突发流量无法提前预知;如果以为了能应对这类瞬间峰值访问,使用 消 息 队 列 能够使关键组件顶住突发的访问压力,而不会因为突发的超负荷的请求而导致崩溃。

中 间 件 的 角 色

Queue

队列存储,他常用于点对点消息模型 ,默认只能由唯一的一个消费者处理。并且处理消息删除。

Topic

主题存储,他常用于订阅/发布消息模型,主题中的消息,会发送给所有的消费者同时处理。只有在消息可以重复处理的业务场景中才可使用,Queue/Topic都是 Destination 的子接口

ConnectionFactory

连接工厂,他是用来创建连接的对象,比如:ActiveMQ他提供的是ActiveMQConnectionFactory

Connection

虚拟链接,JMS Connection封装了客户与JMS提供者之间的一个虚拟的连接。

Destination

消息的目的地,目的地是客户用来指定它生产的消息的目标和它消费的消息的来源的对象。JMS1.0.2规范中定义了两种消息传递域:点对点(PTP)消息传递域和发布/订阅消息传递域。

存储方式

KahaDB存储

KahaDB他是默认的持久化策略,所有消息都会顺序添加到一个日志文件中,同时另外有一个索引文件记录指向这些日志的存储地址,还有一个事务日志用于消息回复操作。是一个专门针对消息持久化的解决方案,它对典型的消息使用模式进行了优化

JDBC存储

使用JDBC持久化方式,数据库默认会创建3个表,每个表的作用如下:
activemq_msgs:queue和topic的消息都存在这个表中
activemq_acks:存储持久订阅的信息和最后一个持久订阅接收的消息ID
activemq_lock:跟kahadb的lock文件类似,确保数据库在某一时刻只有一个broker在访问

Memory 消息存储

他是基于内存的消息存储,就是消息存储在内存中。persistent=”false”,表示不设置持 久化存储,直接存储到内存中,在broker标签处设置。

LevelDB存储

LevelDB持久化的性能高于KahaDB,但是在ActiveMQ官网对LevelDB的表述:LevelDB官方建议使用以及不再支持,推荐使用的是KahaDB
可以看到已经不在支持此项了。推荐使用KahaDB了

欢迎大家点击下方卡片,关注《coder练习生》

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ybb_ymm

你的鼓励会是对我最大的支持

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值