ActiveMQ介绍及linux下安装ActiveMQ

ActiveMQ介绍

概述

ActiveMQ是Apache软件基金下的一个开源软件,它遵循JMS1.1规范(Java Message Service),是消息队列服务,是面向消息中间件(MOM)的最终实现,它为企业消息传递提供高可用、出色性能、可扩展、稳定和安全保障。

架构

在ActiveMQ中,生产者(Producer)发送消息到Queue或者Topic中,消费者(consumer)通过ActiveMQ支持的传输协议连接到ActiveMQ接受消息并做处理。

图-1 ActiveMQ架构

  • 生产者(Producer):消息的生产者。
  • 消费者(Consumer):消息的消费者。
  • 队列(Queue):用于存储还未被消费者消费的消息,点对点模型以Queue作为通信载体。
  • 主题(Topic):用于存储还未被消费者消费的消息,发布订阅模式使用Topic作为通信载体。
  • 传输协议:ActiveMQ允许客户端使用多种协议来连接,包括:TCP、AMQP、STOMP、MQTT、WS。

相关概念

  • JMS:Java Message Service,JMS是一个java平台中关于面向消息中间件的API。
  • PTP:The point-to-point,可以同步或者异步的发送和接受消息,每个消息仅被发送一次,且消费一次。
  • pub/sub:publish/subscribe发布订阅,消息生产者将消息发到topic中,消息消费者从topic读取,与PTP不同的是,消息可以被重复消费。
  • 集群模式:分为单节点和主从两种。
  • 单节点:ActiveMQ只有一个实例,单独运行。
  • 主从:三个ActiveMQ组成ActiveMQ主从模式,实现高可用的架构。
  • 集群健康状态:分为健康和不健康两种。
  • 健康:集群中组件运行正常时,对应集群将处于健康状态。
  • 不健康:集群中组件运行状态异常时,对应集群将处于不健康状态。

应用场景

消息中间件ActiveMQ适用于以下场景:

  • 应用解耦:消息中间件ActiveMQ可以插入应用中间,为两边应用提供接口,实现应用通过消息中间件进行通信。
  • 异步处理:消息中间件ActiveMQ提供异步处理机制,允许应用把一些消息放入消息中间件中,并不立即处理它,在之后需要的时候再处理。
  • 流量削峰:使用消息中间件ActiveMQ能够使关键组件支撑突发访问压力,不会因为突发的超负荷请求而完全崩溃。
  • 其他场景:可以用于日志处理、消息通讯等。

ActiveMQ安装

1. 官网下载

https://archive.apache.org/dist/activemq/5.15.9/apache-activemq-5.15.9-bin.tar.gz

bash 复制代码
[root@master opt]# pwd
/opt
[root@master opt]# wget https://archive.apache.org/dist/activemq/5.15.9/apache-activemq-5.15.9-bin.tar.gz

2. 解压包

bash 复制代码
[root@master opt]# tar -zxvf apache-activemq-5.15.9-bin.tar.gz 
apache-activemq-5.15.9/
apache-activemq-5.15.9/conf/
apache-activemq-5.15.9/data/
...

3. 根目录下新建myactivemq 并将解压的文件拷贝到目录下

bash 复制代码
[root@master opt]# mkdir /myactivemq
[root@master opt]# cp -r apache-activemq-5.15.9 /myactivemq/
[root@master opt]# cd /myactivemq/
[root@master myactivemq]# ls
apache-activemq-5.15.9

4.普通启动 ./activemq start

  • ./activemq start 启动
  • ./activemq restart 重启
  • ./activemq stop 关闭
  • ./activemq start > /myactivemq/myactivemqrun.log 带日志文件的启动
bash 复制代码
[root@master bin]# pwd
/myactivemq/apache-activemq-5.15.9/bin
[root@master bin]# ./activemq start #普通启动命令,前提要安装jdk
INFO: Loading '/myactivemq/apache-activemq-5.15.9//bin/env'
INFO: Using java '/usr/bin/java'
INFO: Starting - inspect logfiles specified in logging.properties and log4j.properties to get details
INFO: pidfile created : '/myactivemq/apache-activemq-5.15.9//data/activemq.pid' (pid '80056')
[root@master bin]# java -version
openjdk version "1.8.0_262"
OpenJDK Runtime Environment (build 1.8.0_262-b10)
OpenJDK 64-Bit Server VM (build 25.262-b10, mixed mode)
[root@master bin]# which java
/usr/bin/java

查看activemq是否启动命令:

  • ps -ef | grep activemq | grep -v grep
  • netstat -anp | grep 61616
  • lsof -i:61616

5.查看页面

http://192.168.190.200:8161/ 默认用户名\密码 admin、admin

概念介绍来源: ActiveMQ介绍

相关推荐
ly768915 分钟前
Docker 从入门到实践:镜像、容器、Dockerfile 与 Docker Compose 详解
运维·docker·容器
大鹏的NLP博客1 小时前
通用 Linux 嵌入式板端 C/C++ ABI 与 Glibc 依赖治理规范
linux·c++·交叉编译
用户3169353811831 小时前
ry.bat和ry.sh部署
运维
mennekes1 小时前
自动化产线临时配电:明装工业插座 vs 面板式工业插座 vs 模块化插座箱取舍
运维·科技·安全·制造
tedcloud1231 小时前
book-to-skill 怎么部署?把技术书和项目文档变成 AI Agent 可复用知识
linux·运维·服务器·人工智能·开源
旗开得胜马到成功1 小时前
SK海力士SSD售后翻车:企业备份介质裸奔风险与中科热备技术选型拆解
运维·服务器·网络
7177772 小时前
厘清 Gitee Test 能力边界:测试管理、自动化与 DevSecOps 协同路径
运维·gitee·自动化
瀚高PG实验室2 小时前
SQL优化案例:使用分区表优化SQL查询性能
linux·服务器·数据库·sql·microsoft·postgresql
brian00312 小时前
虚拟机vmware文件的后缀名汇总介绍
运维·vmware·后缀名
青禾8372 小时前
Linux 系统信息、权限管理与 Python 并发编程(协程与线程)完全指南
linux·python