RocketMQ服务搭建

RocketMQ的官网地址: rocketmq.apache.org 。在下载⻚⾯可以获取RocketMQ的源码包以及运⾏包。下载⻚⾯地址:rocketmq.apache.org/download。

关于RocketMQ的版本: 我们这⾥采⽤最新的5.3.0版本。

运⾏只需要下载Binary运⾏版本就可以了。 当然,源码包也建议下载下来,后续会进行解读。运⾏包下载下来后,就可以直接解压,上传到服务器上。我们这⾥会上传到/app/rocketmq⽬录。解压后⼏个重要的⽬录如下:

默认情况下,RocketMQ建议的运⾏环境需要⾄少12G的内存,这是⽣产环境⽐较理想的资源配置。但是,学 习阶段,如果你的服务器没有这么⼤的内存空间,那么就需要做⼀下调整。进⼊bin⽬录,对其中的runserver.sh和runbroker.sh两个脚本进⾏⼀下修改。 使⽤vi runserver.sh指令,编辑这个脚本,找到下⾯的⼀⾏配置,调整Java进程的内存⼤⼩。

JAVA_OPT="${JAVA_OPT} -server -Xms1g -Xmx1g -Xmn512m -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=320m"

接下来,同样调整runbroker.sh中的内存⼤⼩。

js 复制代码
JAVA_OPT="${JAVA_OPT} -server -Xms8g -Xmx8g"
修改为:
JAVA_OPT="${JAVA_OPT} -server -Xms2g -Xmx2g"

RocketMQ的后端服务分为nameserver和broker两个服务,关于他们的作⽤,后⾯会给你分享。接下来我们 先将这两个服务启动起来。

第⼀步:启动nameserver服务。

js 复制代码
cd /app/rocketmq/rocketmq-all-5.3.0-bin-release 
nohup bin/mqnamesrv &

指令执⾏后,会⽣成⼀个nohup.out的⽇志⽂件。在这个⽇志⽂件⾥如果看到下⾯这⼀条关键⽇志,就表示 nameserver服务启动成功了。

接下来,可以通过jsp指令进⾏验证。使⽤jps指令后,可以看到有⼀个NamesrvStartup的进程运⾏,也表示 nameserver服务启动完成。

第⼆步:启动broker服务

broker也是⼀个Java服务,只需要调整conf⽬录下的broker.conf⽂件,进⾏⼀些定制。然后就可以启动了。

在启动broker服务前,需要先指定NameServer的服务地址。RocketMQ可以使⽤⼀个NAMESRV_ADDR的环 境变量指定NameServer服务地址。 通过vi ~/.bash_profile添加以下配置。然后使⽤source ~/.bash_profile让配置⽣效。

export NAMESRV_ADDR='localhost:9876' 然后也可以⽤之前的⽅式启动broker服务。启动broker服务的指令是mqbroker。

cd /app/rocketmq/rocketmq-all-5.3.0-bin-release nohup bin/mqbroker &

启动完成后,同样检查nohup.out⽇志⽂件,有如下⼀条关键⽇志,就表示broker服务启动正常了。

The broker[xxxxx] boot success. serializeType=JSON and name server is localhost:9876

同样使⽤jps指令可以检查服务的启动状态。使⽤jps指令后,可以看到⼀个名为BrokerStartup的进程,则表示 broker服务启动完成。

2、快速实现消息收发 1》:通过指令启动RocketMQ的消息⽣产者发送消息。

js 复制代码
cd /app/rocketmq/rocketmq-all-5.3.0-bin-release
bin/tools.sh org.apache.rocketmq.example.quickstart.Producer

2》:可以启动消息消费者接收之前发送的消息

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

相关推荐
一只学java的小汉堡30 分钟前
Spring Boot 配置详解:从引导器到注解实战(初学者指南)
java·spring boot·后端
__XYZ31 分钟前
Vala编程语言高级特性-弱引用和所有权
c语言·开发语言·后端·c#
IT_陈寒36 分钟前
Python开发者必坑指南:3个看似聪明实则致命的‘优化’让我损失了50%性能
前端·人工智能·后端
Ivanqhz1 小时前
Rust的错误处理
开发语言·后端·rust
java1234_小锋3 小时前
[免费]基于Python的Flask+Vue进销存仓库管理系统【论文+源码+SQL脚本】
后端·python·flask
fly-phantomWing7 小时前
Maven的安装与配置的详细步骤
java·后端·maven·intellij-idea
学编程的小鬼10 小时前
SpringBoot 自动装配原理剖析
java·spring boot·后端
码事漫谈10 小时前
SIMD编程入门:让性能飞起来的实践指南
后端
码事漫谈10 小时前
从汇编角度看C++优化:编译器真正做了什么
后端
老葱头蒸鸡12 小时前
(28)ASP.NET Core8.0 SOLID原则
后端·asp.net