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 目录,解压开后发现有一下几个目录
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
3. 启动Broker
// 执行命令 此框勿关闭
start mqbroker -n localhost:9876
这时候 RocketMQ的队列服务已经启动完成啦。如果想 可视化观察 rocket 的各个状态可以参考楼主的这篇文章
rocket-mq console window 启动和使用