文章目录
1.介绍
1、限流削峰
服务 A 1s 1000 mq,来中转, 服务 B 500qps
2、异步解耦
提交订单 -> 支付 -> 订单列表
支付的回调消息来做订单相关的一些处理。
3、数据采集
实时的数据流采集,业务日志,用户行为监控
2.RocketMQ介绍
1.官网
https://rocketmq.apache.org/
2.基础概念
3.组件架构
3.安装
1.安装宝塔面板
1.更新系统
sudo yum update -y
2.安装宝塔面板
yum install -y wget && wget -O install.sh http://download.bt.cn/install/install_6.0.sh && sh install.sh
3.开放33142端口
systemctl start firewalld && firewall-cmd --permanent --add-port=33142/tcp && firewall-cmd --reload && firewall-cmd --query-port=33142/tcp
2.创建存放软件的文件夹
mkdir /usr/local/soft
3.将软件上传到soft目录下
4.安装unzip
yum install unzip
5.进入目录解压软件
cd /usr/local/soft && unzip rocketmq-all-4.8.0-bin-release.zip
6.进入bin目录
cd rocketmq-all-4.8.0-bin-release/bin
7.修改两个sh文件配置内存小一点
vim runserver.sh
vim runbroker.sh
8.在/usr/local/soft/rocketmq-all-4.8.0-bin-release/bin
目录下,启动RocketMQ 并跟踪日志
1.启动NameServer并跟踪日志命令
nohup sh mqnamesrv & tail -f ~/logs/rocketmqlogs/namesrv.log
2.报错:没有文件夹
3.创建一下
mkdir -p /root/logs/rocketmqlogs
4.再次启动,还是不行
5.打印日志,发现没有安装java
sh mqnamesrv 2>&1 | tee startup.log
6.安装java
1.使用宝塔安装然后把java复制到soft目录下
2.配置环境变量
vim ~/.bashrc
export JAVA_HOME=/usr/local/soft/jdk1.8.0_371
export PATH=$JAVA_HOME/bin:$PATH
source ~/.bashrc
3.打印测试
echo $JAVA_HOME
7.重新启动 NameServer
1.进入bin目录
cd /usr/local/soft/rocketmq-all-4.8.0-bin-release/bin
2.启动
nohup sh mqnamesrv & tail -f ~/logs/rocketmqlogs/namesrv.log
3.查看进程是否启动
ps -ef | grep NamesrvStartup
4.查看9876端口是否在监听
netstat -tunlp | grep 9876 # 检查 NameServer 端口
8.启动 broker
1.临时设置环境变量,指定NameServer的服务(如果没有持久化,每次启动都要设置一下)
export NAMESRV_ADDR=localhost:9876
2.启动,发现路径不存在
nohup sh mqbroker -n localhost:9876 & tail -f ~/logs/rocketmqlogs/broker.log
3.创建文件夹
mkdir -p /root/store/commitlog
4.再次启动,另一个路径不存在
5.再次创建文件夹
mkdir -p /root/store/consumequeue
6.再次启动
nohup sh mqbroker -n localhost:9876 & tail -f ~/logs/rocketmqlogs/broker.log
7.验证Broker启动
ps -ef | grep BrokerStartup
8.消息测试
发送消息:
sh tools.sh org.apache.rocketmq.example.quickstart.Producer
接受消息:
sh tools.sh org.apache.rocketmq.example.quickstart.Consumer
9.关闭broker和namesrv的方式
sh bin/mqshutdown broker && sh bin/mqshutdown namesrv
4.安装控制台
1.解压压缩包,idea打开,并修改配置文件
2.maven clean-install
3.找到jar包
4.上传到服务器
5.部署为java项目并启动
6.开启7777端口
systemctl start firewalld && firewall-cmd --permanent --add-port=7777/tcp && firewall-cmd --reload && firewall-cmd --query-port=7777/tcp
7.访问 http://116.198.233.85:7777/ 发现连接失败
8.开启9876端口
systemctl start firewalld && firewall-cmd --permanent --add-port=9876/tcp && firewall-cmd --reload && firewall-cmd --query-port=9876/tcp