【消息队列】本地部署RocketMQ

本文最后更新于2020年11月26日,可能由于时间等因素导致内容失效,请自行辨别或联系作者。

前言

对于RocketMQ的本地部署,下载代码到本地后,据我了解到的方式有2种,一种是通过其提供的Shell脚本,另外一种是将项目导入到IDE中,在IDE中进行配置和部署。做为一个初学者,为了加深对RocketMQ的印象,本文采用的是第二种部署方式,并且也方便后期进行源码和结构上的学习。

NameServer启动

在IDE中(我这里以Idea为例)运行NamesrvStartup,如下图所示

会提示下图的报错信息,这里的意思说,我们需要设置ROCKETMQ_HOME这个变量的值,指定RocketMQ的根路径

按照提示,去设置环境变量即可

设置无误后,便可启动了

启动Broker

在项目的跟目录下,新建一个logs文件夹

如下图所示,编辑conf目录下的logback_broker.xml文件,其中的路径,替换成你自己的RocketMQ的路径

直接运行BrokerStartup,但发现又有提示

那么同理,再去配置即可运行成功


到此,需要启动的都启动完毕,接下来可以测试一下

生产消息

RocketMQ的代码已经提供了一些使用示例,如下图所示,找到Producer

任意指定一个生产组,然后设置NameServer的地址

运行Producer,可以看到成功生产了消息

消费消息

同理,找到Consumer,来体验一下生产消息

到此,生产和消费都已经测试成功了,这便是最简单的使用。但是,如果需要进行Topic、Group等进行管理,目前就只能通过命令进行了,不直观,也增加了操作成本。所以可以安装一个可视化的控制台。

安装控制台

把这个项目下载下来:https://github.com/apache/rocketmq-externals.git

找到rocketmq-console,这就是控制台的程序,我们需要运行它

如下图所示,编辑一些配置文件

通过CMD,cd到rocketmq-console目录,然后执行打包命令

mvn clean package -Dmaven.test.skip=true

等打包完毕,会提示“BUILD SUCCESS”,然后再 cd target目录下,运行打包好的jar程序,如下图所示

启动成功后,我们可以看到相关日志信息

在浏览器内访问,输入账号密码即可

下图就是官方提供的非常简约的控制台程序了,对于初学者、个人使用是绰绰有余的。下一篇,我会再简单讲讲这个控制台里面的内容。

写在最后

对于企业应用来说,有不少都是自己研发的MQ,或者是基于开源进行二次开发的。所以,都会有自己的MQ控制台,跟官方的比起来,可能会有比较大的差异(主要体现在授权、权限管理这一块),但抛开权限,一些基本的概念、操作,还是一致的。

正如我在系列的第一篇文章所说,MQ的使用是很简单的,无非就是调用一些API,或者照着公司里面的一些模板/模式,进行业务上的使用罢了,所以“怎么用”,不是我们的重点;对于MQ的搭建,现阶段来说,肯定是不需要我们负责的,所以“怎么搭”也不是我们的重点;对于像“控制台”、“授权”这些,自然也就不需要花太多时间了。重点会放到后面的原理、源码分析等~

为TA充电
共{{data.count}}人
人已赞赏
消息队列编程语言

【消息队列】什么是消息队列

2020-11-26 11:29:08

消息队列编程语言

【消息队列】RocketMQ核心概念名词扫盲

2020-11-30 12:48:09

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
今日签到
有新私信 私信列表
搜索