这里是weihubeats,觉得文章不错可以关注公众号小奏技术,文章首发。拒绝营销号,拒绝标题党
源码版本
这里选用最新的稳定版本5.0
启动方式
目前5.0的架构发生了重大调整,添加了一层
rocketmq-proxy
,可以通过
grpc
的方式接入
目前部署方式分为两种
- Local 模式:由于 Local 模式下 Proxy 和 Broker 是同进程部署,Proxy本身无状态,因此和之前4.0版本的部署方式基本相同
- Cluster 模式:在 Cluster 模式下,Broker 与 Proxy分别部署,我可以在 NameServer和 Broker都启动完成之后再部署 Proxy。
启动
1. 下载源码
源码地址: https://github.com/apache/rocketmq
下载完成后我们切换到最新稳定分支
release-5.0.0
版本
2. 启动NameServer
在启动这个类的时候我们需要配置一下环境信息,不然会报错找不到环境变量
主要是配置
Environment variables
值为:
ROCKETMQ_HOME=****/rocketmq/distribution
填写指定到
distribution
路径即可
注意这里我们的jdk版本要是
jdk8
,如果是高版本会启动失败,而且同时存在多个版本的jdk会有交叉编译bug
具体解决方案可以参考这里 https://www.morling.dev/blog/bytebuffer-and-the-dreaded-nosuchmethoderror/
启动成功后会输出如下log
3. 启动rocketmq-proxy+broker
同上
nameserver
配置环境变量
ROCKETMQ_HOME=****/rocketmq/distribution
添加启动参数
org.apache.rocketmq.proxy.ProxyStartup-n
127.0.0.1:9876-bc
/Users/xx/Desktop/sofe/java/rocketmq/distribution/conf/2m-2s-async/broker-a.properties
-pm
Local
配置了启动参数后会自动启动
broker
proxy
启动成功输出如下log
自此启动完成
发送消息磁盘空间不足问题
如果我们磁盘空间不足发送消息也会报错,不然我们发送消息,我们可以修改磁盘限制
这里限制的默认值我们改成99
然后将这里的判断删除
grpc发送接受消息
我们可以使用官方api提供的demo
github地址: https://github.com/apache/rocketmq-clients
- 消息发送
- 消息消费
版权归原作者 weihubeats 所有, 如有侵权,请联系我们删除。