消息中间件ActiveMQ使用详解
一、消息中间件的介绍
介绍
消息队列 是指利用 高效可靠 的 消息传递机制 进行与平台无关的 数据交流,并基于 数据通信 来进行分布式系统的集成。
特点(作用)
- 应用解耦
- 异步通信
- 流量削峰
- (海量)日志处理
- 消息通讯
- …...
应用场景
根据消息队列的特点,可以衍生出很多场景,或者说很多场景都能用到。下面举几个例子:
1)异步通信
注册时的短信、邮件通知,减少响应时间;
2)应用解耦
信息发送者和消息接受者无需耦合,比如调用第三方;
3)流量削峰
例如秒杀系统;
二、消息中间件的对比
1.ActiveMQ
简介:
ActiveMQ 是Apache出品,最流行的,能力强劲的开源消息总线。ActiveMQ 是一个完全支持JMS1.1和J2EE 1.4规范的 JMS Provider实现,尽管JMS规范出台已经是很久的事情了,但是JMS在当今的J2EE应用中间仍然扮演着特殊的地位。
特点:
-
支持来自Java,C,C ++,C#,Ruby,Perl,Python,PHP的各种跨语言客户端和协议
-
完全支持JMS客户端和Message Broker中的企业集成模式
-
支持许多高级功能,如消息组,虚拟目标,通配符和复合目标
-
完全支持JMS 1.1和J2EE 1.4,支持瞬态,持久,事务和XA消息
-
Spring支持,以便ActiveMQ可以轻松嵌入到Spring应用程序中,并使用Spring的XML配置机制进行配置
-
专为高性能集群,客户端 - 服务器,基于对等的通信而设计
-
CXF和Axis支持,以便ActiveMQ可以轻松地放入这些Web服务堆栈中以提供可靠的消息传递
-
可以用作内存JMS提供程序,非常适合单元测试JMS
-
支持可插拔传输协议,例如in-VM,TCP,SSL,NIO,UDP,多播,JGroups和JXTA传输
-
使用JDBC和高性能日志支持非常快速的持久性
ActiveMQ下载
可以直接点击官网下载页面进行下载,下载下来格式为xx.tar.gz
,可以通过tar -xzvf xx.tar.gz -C ~/program/
进行解压,文件目录如下:
解压:
这里注意的是我们可以改变activemq访问的端口和ip
我这里ip改成了192.168.33.10
另外注意的如果你已经安装了rabbitmq,5672端口会有冲突,会报这个错误:
在你的conf目录下面的activemq.xml配置文件中修改成其他端口即可:
如果不限制ip访问的话,那么在conf目录下面的activemq.xml配置文件中修改
<property name="host" value="127.0.0.1"/> 改成 <property name="host" value="0.0.0.0"/>
启动:
sudo ./bin/activemq start
启动后查看进程:
ps -ef | grep activemq
停止:
sudo ./bin/activemq stop
可以看到默认端口8161已经启动。
访问后台界面:
http://192.168.33.10:8161/admin/
需要账号密码:admin/admin
已经安装成功了!,接下来我们使用springboot activemq 来发送接收消息!