linux环境RocketMQ环境搭建以及springboot集成RocketMQ

1由于RocketMQ是有Java语言编写的所以要先安装jdk,以下为傻瓜式一键安装jdk1.8

yum install -y java-1.8.0-openjdk-devel.x86_64

2.上传最新的RocketMQ安装包并解压
(如果报错 -bash: unzip: 未找到命令,解决办法:yum install -y unzip zip)

unzip rocketmq-all-4.6.0-bin-release.zip

3.修改NameServer、Broker服务器内存
(1)进入rocketmq-all-4.6.0-bin-release.zip目录
(2)修改 bin目录下面的runserver.sh和runbroker.sh
(3)将 JAVA_OPT="${JAVA_OPT} -server –Xms8g –Xmx8g –Xmn8g" 修改为 JAVA_OPT="${JAVA_OPT} -server –Xms128m –Xmx128m –Xmn128m"

4. 启动NameServer(这里是进入rocketmq-all-4.6.0-bin-release文件执行改命令)
nohup sh bin/mqnamesrv &(加上&表示后台启动)

5.修改Broker的配置文件
conf目录下的broker.conf 文件添加代码namesrvAddr=127.0.0.1:9876(这是NameServer的ip加端口号多个用分号隔开)
brokerIP1 =本机ip(表示当前broker监听的IP,我的阿里服务器需要加,但虚拟机可以不用加)

6.启动mqbroker(这里是进入rocketmq-all-4.6.0-bin-release文件执行改命令)
nohup sh bin/mqbroker -c ./conf/broker.conf

7.启动成功了现在可以用Java代码调试了

**===============================================================================================**

RocketMQ–相关命令
启动NameServer(进入到rocketmq目录执行)
nohup sh bin/mqnamesrv & (后面加上& 表示后台启动)
启动mqbroker(进入到rocketmq目录执行)
nohup sh bin/mqbroker -c ./conf/broker.conf &
查看pid的命令
ps aux | grep broker

brokerIP1 当前broker监听的IP
brokerIP2 存在broker主从时,在broker主节点上配置了brokerIP2的话,broker从节点会连接主节点配置的brokerIP2来同步。

默认不配置brokerIP1和brokerIP2时,都会根据当前网卡选择一个IP使用,当你的机器有多块网卡时,很有可能会有问题。比如,我遇到的问题是我机器上有两个IP,一个公网IP,一个私网IP,结果默认选择的走公网IP,这是不正确的,我期望的是所有业务内部通信都走内网。

如何保证消息的顺序的问题?.
默认一个topic对应4个队列
生产者把要保证顺序的消息投到一个对队列里面,然后每一个队列对应一个消费者,(消费者注册消息监听器为MessageListenerOrderly,这样就可以保证消费端只有一个线程去消费消息)

kafka (设置相同的消息key ,然后就会放在同一个broker里面,对应一个消费者)

你可能感兴趣的:(RocketMQ,java)