RocketMQ消息中间件应用场景剖析

525 阅读1分钟

异步通信

image.png

异步解耦

同步问题

同步的问题

image.png

消息中间件异步问题

异步方式 消息中间件

image.png

消峰填谷

image.png

消息分发

image.png

常见消息中间件

ActiveMQ

RabbitMQ

Kafka

RocktMQ

运行模型

image.png

image.png

image.png

安装

源码安装

image.png

image.png

也可以通过Github下载源码

wget下载

也可以拖入进去 到 /usr/local/src 中

cd /usr/local/src/
wget https://archive.apache.org/dist/rocketmq/4.9.3/rocketmq-all-4.9.3-source-release.zip

下载完毕

解压

unzip rocketmq-all-4.9.3-source-release.zip -d /usr/local/src/

image.png

cd /usr/local/src/
cd rocketmq-all-4.9.3
mvn -Prelease-all -Dmaven.test.skip=true clean install -U
cd /usr/local/src/rocketmq-all-4.9.3/distribution/target/rocketmq-4.9.3/rocketmq-4.9.3/bin

image.png

image.png 为了方便 把可执行文件拷贝到local

image.png

cp -R rocketmq-4.9.3/ /usr/local/

修改配置参数

image.png

image.png

vi runbroker.sh
JAVA_OPT="${JAVA_OPT} -server -Xms1g -Xmx1g -Xmn512m"

image.png

image.png

vi runserver.sh

启动

启动NameServer

后台运行

cd /usr/local/rocketmq-4.9.3/bin/
nohup ./mqnamesrv &
cd /usr/local/rocketmq-4.9.3/bin/
./mqnamesrv

启动Broker

cd /usr/local/rocketmq-4.9.3/bin/
nohup ./mqbroker -n 127.0.0.1:9876 &
nohup ./mqbroker -n 192.168.202.3:9876 &

查看

netstat -ntlp

jps

关闭服务

./mqshutdown broker
./mqshutdown nameserver

image.png

image.png

管理控制台安装

安装git

yum install -y git

下载源码

image.png

cd /usr/local/src/
git clone https://gitee.com/heshengjun/rocketmq-externals.git

执行Maven构建

image.png

image.png

cd /usr/local/src/
cd rocketmq-externals/rocketmq-console/
mvn package -Dmaven.test.skip=true

启动管理台

创建apps 存放rocketmq

cd /
mkdir apps
mkdir rocketmq-console

把jar移动这里

cp /usr/local/src/rocketmq-externals/rocketmq-console/target/rocketmq-console-ng-1.0.1.jar /apps/rocketmq-console/

创建application.properties

image.png

vi application.properties

server.port=9999
rocketmq.config.namesrvAddr=192.168.202.3:9876

启动

cd /apps/rocketmq-console/
nohup java -jar rocketmq-console-ng-1.0.1.jar &

http://192.168.202.3:9999/#/

image.png

image.png

image.png

image.png

运行测试程序

设置一个NameServer的地址的环境变量

cd /usr/local/rocketmq-4.9.3/
export NAMESRV_ADDR=127.0.0.1:9876

image.png

发送消息 消费消息

bin/tools.sh org.apache.rocketmq.example.quickstart.Producer

bin/tools.sh org.apache.rocketmq.example.quickstart.Consumer

image.png

image.png