ActiveMQ--初步介绍及linux下环境搭建

一、什么是MQ消息中间件

消息中间件可以利用高效可靠的消息传递机制进行与平台无关的消息交流,并基于数据通信来进行分布式系统的集成。

通过消息传递消息排队模型在分布式环境下提供应用解耦、弹性伸缩、冗余存储、流量削峰异步通讯、数据同步等功能

大致流程如下:

发送者把消息发送给消息服务器(MQ),消息服务器将消息存放在若干队列/主题中,在核实的时候,消息服务器会将消息转发给接收者。在这个过程中,发送和接受是异步的,也就是发送无需等待,而且发送者和接收者的生命周期没有必然关系。

尤其在发布pub/订阅sub模式下,也可以完成一对多的通信,即让一个消息有多个接收者。

1.大多应用中,可通过消息服务中间件来提升系统异步通信、扩展解耦能力、可在高并发场景中起到流量削峰的作用

1)传统的同步调用,导致系统同步通信效率低

使用消息队列解决异步通信的问题,将注册信息按格式写入消息队列,发送邮件和发送注册短信的功能进行异步调用,从而加快系统的响应速度。

2)应用解耦,当分布式项目的某个系统如果直接调用另一个系统的接口,会使应用的耦合度升高。

扫描二维码关注公众号,回复: 8958912 查看本文章

当用了消息队列后,可以使用库存系统进行订阅监听消息队列来实现系统之间的调用,解除系统之间的耦合度,系统只需要面向消息队列即可。

3)流量削峰,比如在一个秒杀系统中,在同一时刻可能有很高很高的并发量,那么高的QPS可能会导致服务器瞬间崩掉,可以使用消息队列,来平缓某一时刻的并发量高峰,使服务器有序的从队列中拿出请求去处理。

通过ActiveMQ扩展出:

API 接受发送

MQ 的高可用

MQ 的集群容错配置

MQ 的持久化

延时发送

签收机制

Spring/SpringBoot 整合

等MQ 都需要满足的技术,这些技术维度是大多数MQ的产品所具有的

二、环境搭建

ActiveMQ 的官网 : http://activemq.apache.org

将ActiveMQ的压缩包放到linux中解压即可,进入bin目录启动服务器

./activemq start

检查activemq 是否启动的三种方法: 也是三种查看后台进程的方法

ps -ef | grep activemq| grep -v grep

netstat -anp | grep 61616

lsof -i 61616

这里要注意一下activemq的端口号

61616:是客户端与服务器交互的端口号,提供JMD服务

8161:为web界面访问服务器控制台的端口号

配置成功后 ,可以用 windows ping linux , linux ping windows ,当全部ping 通后,可以使用图形化界面访问activeMQ

访问:服务器ip:8161 如果看到图形化界面则为启动成功

// 192.168.17.3 为 linux 的IP 地址, 使用 IP+端口 访问了ActiveMQ , 登陆之后的样子如上。(能访问成功首先得在linux 上启动activeMQ 的服务),首次登录的默认账户密码为 账号:admin 密码:admin

访问不到的坑: 1 可能是你的linux 和 windows 没有在一个网关下

2 可能你windows 的防火墙或者 linux 的防火墙没有关掉(是的,先得关掉防火墙)

3 你忘记启动activemq 的服务了

4 你启动失败了,可能是你得java 环境没配好,必须是jdk 8 或者以上

发布了227 篇原创文章 · 获赞 77 · 访问量 5万+

猜你喜欢

转载自blog.csdn.net/m2606707610/article/details/103463249