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