RocketMQ 基本角色 和 window 搭建

RocketMQ 的 基本角色

1. 基本角色

  • NameServer :基于高可用设计产生的,用于服务发现和路由。正式应用时通常采用集群部署。
  • Broker:实现队列机制,负责消息存储和转发。正式应用时也采用集群部署。
  • Producer:消息生产者,生成消息并发送到RocketMQ中,生产者通常是我们自己实现的应用程序。
  • Consumer:消息消费者,从RocketMQ中接收消息并进行业务处理。这部分也通常是我们自己实现的。

2. 抽象概念

现实中的邮局想要正常运行,离不开这四种角色,一是发信者, 二是收信者, 三是负责暂存 、 传输的邮局, 四是负责协调各个地方邮局的管理机构 对应到 RocketMQ 中,这四个角色就是 Producer 、 Consumer 、 Broker 和 NameServer。

Producer 接受到消息,发送到指定的Broker中,Broker将消息储存下来,并发送给订阅了消息的Consumer。NameServer监控每一台的Broker 状态,协调管理所有的Broker ,形成集群。

3. 启动顺序

  • 启动 RocketMQ 的顺序是先启动 NameServer ,再启动 Broker
  • 想发送消息就使用 Producer来发送,想接收消息就使用 Consumer 来接收
  • 为了消除单点故障,增加可靠性或增大吞吐量 ,可以在多台机器上部署多个 NameServer 和 Broker,为每个 Broker 部署一个或多个 Slave 。

RocketMQ 的 搭建

 1.下载 RoceketMQ 的 Binary版

点击 这里  下载RocketMQ的Binary版,Binary是一些编译好的jar包和shell教程,我这是使用的4.4.0版本。

系统的要求是:

1). 64bit 的 Linux/Unix/Mac 系统 

2). java的版本要大于1.8以上

3). 如果是从git 上面 下载的 需要安装git 和 maven 3.2 以上的版本

下载完成后,解压 下载的 rocketmq-all-4.4.0-bin-release 目录,解压开后发现有一下几个目录

RocketMQ 基本角色 和 window 搭建

LICENSE、NOTICE、README.md 是一些版本声明和功能说明信息。

benchmark 里包含运行benchmark 程序的shell 脚本

bin 文件夹里包含有各种 使用RocketMQ的shell脚本和cmd脚本,支持window、linux平台。

conf 文件夹里有一些示例配置文件,包含broker配置文件、日志配置文件等

lib 文件夹里包括 Rocket 各个模板编译成的jar包 和 RocketMQ依赖的jar包 。

2. 启动 Start Name  Server

楼主是基于window 平台搭建,首先第一步 启动 Name Server ,因为Name Server 是协调管理 Broker的,所以要先于 Broker 启动。

打开解压后的文件夹 ,进入 bin 目录  打开cmd命令窗口。

// 执行命令 成功后会弹出提示框,此框勿关闭。

start mqnamesrv.cmd

RocketMQ 基本角色 和 window 搭建

3. 启动Broker

// 执行命令  此框勿关闭

start mqbroker -n localhost:9876

RocketMQ 基本角色 和 window 搭建

这时候 RocketMQ的队列服务已经启动完成啦。如果想 可视化观察 rocket 的各个状态可以参考楼主的这篇文章

 rocket-mq console window 启动和使用