RocketMq灰皮书(二)------本地部署启动MQ
Windows10本地部署RocketMQ
在上一篇文章中,我们对rocket的几个基本概念进行了介绍,也了解了业内几大消息中间件的区别.在本篇博文中,我们进行RocketMQ
的本地部署.
1. 下载安装
首先我们可以去RocketMQ
的官网去下载源码: 官网点这里
打开官网可以看到很精美的概述,我们需要了解的地方有2个,都在上图中标记了出来:
- Documentation 关于rocket使用的文档介绍
- Blog 社区的更新博文
简单的来说,如果你想了解早期的mq的更新文档,可以去Blog
页面,它大概是这样的:
在Blog
页面,按照时间显示了每次MQ相关的更新发布公告,类似于LOL官网日常公告.-_-||
我们看到图中有两种文章:
- Release Notes - Apache RocketMQ Spring - Version 2.2.0
- Release Notes - Apache RocketMQ - Version 4.8.0
Apache RocketMQ Spring
作为一名合格的Java开发(摸鱼)工程师,我们看一眼就知道,Apache RocketMQ Spring
版本代表的是RocketMQ整合Spring框架提供的发行包,点进去具体看到有个Quick Start ,再点进去会跳转到github
基友社区,并且我们看到了其提供的基于SpringBoot
的maven
依赖:
<!--add dependency in pom.xml-->
<dependency>
<groupId>org.apache.rocketmq</groupId>
<artifactId>rocketmq-spring-boot-starter</artifactId>
<version>${RELEASE.VERSION}</version>
</dependency>
因此,我们可以很方便的在项目中集成RocketMQ
进行开发,后面我们的demo会使用这个依赖快速实现.
Apache RocketMQ
说白了,上面的那个rocketmq-spring-boot-starter
只是用来合Spring
的,真正的RocketMQ
其实是Apache RocketMQ
里面介绍的东西. 他里面也很清楚地介绍了如何下载并启动RocketMQ
图中上面介绍了RocketMQ
快速搭建的步骤,点击快速开始按照步骤即可,下方是其下载链接,其中Source
是源代码,Binary
是二进制发行版.
这次我们只是为了在本地运行起来,然后简单的写个demo,就直接使用Binary
版本即可,点击下载,
然后我们打开Quick Start
,看一下相关的启动介绍.
2. 环境准备
在Quick Start
页面,我们发现RocketMQ
的详细文章也有中文版,这样看来当前国内很多公司之所以使用RocketMQ
来作为消息中间件不是没有原因的.
而RocketMQ
的运行环境有以下规定:
-
64位的系统内核
不管你是用Linux还是Windows
64位的JDK 1.8+
-
Maven3.2.x
maven版本也有要求
Git
-
4g+ free disk for Broker server
这里需要注意了,
RocketMQ
运行Broker server
需要至少4G的空闲磁盘,我们需要关注的不是这占用的磁盘空间,而是后面的Broker server
! 在上篇文章中我们说过,每个运行在机器上的RocketMQ称为Broker
,当时说的broker就是这里的Broker server
根据以上的环境要求,我们可以检查一下各自的环境是否符合,我这里用的maven版本是3.3.9
而在Quick Start
页面中,也详细介绍了再Linux系统和Windows系统下不同的启动方式,我们可以按照步骤依次进行,不得不说这官方文档写的非常详细了.
3. 配置环境变量&运行RocketMQ
解压我们下载好的RocketMQ的压缩包,在这里我是放在了D盘下
-
配置环境变量
ROCKETMQ_HOME="D:\rocketmq"
NAMESRV_ADDR="localhost:9876" -
启动Name Server
在这里我们又看到一个新概念
Name Server
,暂且不去管它,我们先运行起来.进入MQ解压后的目录,即:
ROCKETMQ_HOME/bin
目录,按住Shift
键后鼠标右键即可打开PowerShell
命令窗口,运行Name Server的启动命令:.\mqnamesrv.cmd
可以看到启动成功了
注意此时不能关闭命令行窗口,关闭以后会直接关闭Name Server
-
启动
Broker
用同样的方式打开
PowerShell
窗口,运行命令:.\mqbroker.cmd -n localhost:9876 autoCreateTopicEnable=true
-n
指定broker连接的nameServer
的地址和端口号autoCreateTopicEnable
参数见名知意,打开自动创建Topic启动成功如下:
同样不能关闭此窗口
到这里,我们本地的RocketMQ
启动完成
4. 安装rocketmq-console验证运行情况
按照上面的步骤,我们在本地成功启动了RocketMQ
,那么我们怎么验证呢?
RocketMQ提供了强大的后台管理组件来管理发送到MQ的消息,这个组件就是rocketmq-console
a. rocketmq-externals
在了解rocketmq-console
之前,我们先来说一下rocketmq-externals,除了rocketmq本身之外,rocketmq有个改进改进方案,其中包括了很多扩展的项目,比如rocketmq的Go版本的客户端,Python版本的客户端,集成Flink的插件等,这些扩展的项目全部整合在rocketmq-externals
项目中,而我们的rocketmq-console
就是其中之一.
b. rocketmq-console
rocketmq-console
是使用springboot设计的rocketMq
的后台系统,有了它,我们可以很方便的在Web页面上管理RocketMQ
的消息,topic等,接下来我们来安装运行rocketmq-console
.
-
首先我们下载
rocketmq-externals
的源码到本地,地址是:https://github.com/apache/rocketmq-externals.git
,下载完成后IDE打开,可以看到里面有很多的项目 -
修改
rocketmq-console
的application.rpoperties配置文件#指定连接的nameServer的地址和端口号
rocketmq.config.namesrvAddr=127.0.0.1:9876 -
启动
rocketmq-console
直接通过maven命令编译打包
rocketmq-console
项目,这样会打出来一个jar包在target目录下,然后直接用java命令运行该jar包就可以了在这里我们就直接通过IDEA运行,不用那么麻烦
找到主启动类,运行run方法即可,等待启动成功我们就可以再浏览器打开后台页面了,默认的启动地址是
http://localhost:8080
有关
rocketmq-console
的详细使用,这里就不说了,需要了解的可以查阅官方手册,地址如下:手册
结语:
在这里,之所以在本地部署一次,其实是为了后续的demo使用mq,其二是了解MQ的启动过程和每一个组件,也能在后面帮助我们了解其运行原理和架构原理.
个人公众号<橙耘自留地>日前已经开通,后续博主发布的文章都会一并更新到公众号,如有需要,自行查阅.
关于橙耘自留地,是我个人聚焦互联网技术栈学习分享的一个平台,创立之初是因为目前业内各种技术课程资料层次不齐,褒贬不一,有时候一门课花费高价买入,其实内含草包,有时偶尔低价得之,却又大有干货.因此我会根据大家的意见和评价,选择不同的技术栈去学习,一为提升我自己的技术,二为大家梳理出质量比较好的课程,以作参考.同时,相关的学习心得也会一并更新到博客和公众号.