RocketMQ 学习历程(一)------windows 上搭建rocketmq服务

RocketMQ 学习历程(一)------windows 上搭建rocketmq服务

技术杂谈小彩虹2021-07-18 19:16:08120A+A-

今天从零开始学习RocketMQ,以前学习过JMS规范以及ActiveMQ相关知识,但总感觉RocketMQ给我带来一种莫名的好感,加上公司目前也在使用RocketMQ,所以,很有必要学习一波,乘年轻刚入职场,多学点、研究点技术,相信结局总是美好的。

本文很简单,就是基本的windows环境搭建,非集群版本。请不要问我为什么不在linux上面进行搭建,首先我用不惯虚拟机,第二之前买的阿里云学生机过期了,贼难受。学会在windows上搭建RocketMQ服务之后,在linux上面搭建也是同样的步骤和道理的。本文最后还会放出小编在搭建过程中犯过的错误以及解决方法,让大家能更快地进行服务搭建。

一、windows下RocketMQ服务搭建

首先假设我们已经对RocketMQ的相关架构有所了解,如果你还没有进行了解学习,可以先到官方网站或者找找博客进行学习。RocketMQ的启动流程主要有以下几个步骤:

  • 1、启动命名服务NameServer

  • 2、Broker的启动

  • 3、创建ProviderConsumer,模拟消息发送接收

  • 4、关闭RocketMQ服务器

1、启动命名服务NameServer

NameServer的默认启动类为:org.apache.rocketmq.namesrv.NamesrvStartup

2、Broker的启动

Broker的默认启动类为:org.apache.rocketmq.broker.BrokerStartup

3、创建ProviderConsumer,模拟消息发送接收

生产消息:

消费消息:

4、关闭RocketMQ服务器

先关闭Broker,然后再关闭名称服务器。

二、相关错误及解决方法

  • 1、下载完rocketmq之后必须配置环境变量ROCKETMQ_HOME,否则报错.

那么为什么会出现这样的错误呢?很简单,你打开mqnamesrv.cmd文件就知道了,里边有这么一段代码:

if not exist "%ROCKETMQ_HOME%\bin\runserver.cmd" echo Please set the ROCKETMQ_HOME variable in your environment! & EXIT /B 1

如果不存在该环境变量就执行echo语句。

  • 2、解压压缩包的路径不能出现空格

也就是说你下载完rocketmq压缩包之后,解压路径不能出现类似下面的情况:

e://Program File/rocketmq

出现空格,会报“找不到主类”的错误

三、总结

搭建rocketmq环境比想象中要简单,过程中也踩了两个坑,在这里分享一个解决启动问题的思路,那就是如果你实在找不出问题该如何解决,那么你可以尝试打开cmd文件,查看源代码,看看到底启动的逻辑,问题会清晰很多。

上面也指出了namesrvbroker的相关启动类,所有的启动过程都在源码的main()方法中,可以进去一探究竟~~

点击这里复制本文地址 以上内容由权冠洲的博客整理呈现,请务必在转载分享时注明本文地址!如对内容有疑问,请联系我们,谢谢!

支持Ctrl+Enter提交

联系我们| 本站介绍| 留言建议 | 交换友链 | 域名展示
本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除

权冠洲的博客 © All Rights Reserved.  Copyright quanguanzhou.top All Rights Reserved
苏公网安备 32030302000848号   苏ICP备20033101号-1

联系我们