1.介绍
1、限流削峰
服务 A 1s 1000 mq,来中转, 服务 B 500qps
2、异步解耦
提交订单 -> 支付 -> 订单列表
支付的回调消息来做订单相关的一些处理。
3、数据采集
实时的数据流采集,业务日志,用户行为监控
2.RocketMQ介绍
1.官网
https://rocketmq.apache.org/
2.基础概念
3.组件架构
3.安装
1.安装宝塔面板
1.更新系统
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.创建存放软件的文件夹
3.将软件上传到soft目录下
4.安装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.配置环境变量 - export JAVA_HOME=/usr/local/soft/jdk1.8.0_371
- export PATH=$JAVA_HOME/bin:$PATH
复制代码
3.打印测试
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
复制代码
9.再次刷新(成功!)
|