rocketMQ简介及安装

一、rocketMQ的优势

1.在大数据流量下仍然能够保证出色的低延迟
2.支持按照消息ID或key查询消息
3.海量的消息堆积能力
4.支持多主多从部署(高可用)
5.支持同步刷盘和异步刷盘(高可靠)

二、rocketMQ的历史

1.Metaq(Metamorphosis) 1.x
由开源社区 killme2008 维护,开源社区非常活跃。
https://github.com/killme2008/Metamorphosis

2.Metaq 2.x
于 2012 年 10 月份上线,在淘宝内部被广泛使用。

3.RocketMQ 3.x
基于阿里巴巴公司内部开源共建原则, RocketMQ 项目只维护核心功能,且去除了所有其他运行时依赖,核心功能最简化。每个 BU 的个性化需求都在 RocketMQ 项目之上进行深度定制。RocketMQ 向其他 BU 提供的仅仅是Jar 包,例如要定制一个 Broker,那么只需要依赖 rocketmq-broker 这个 jar 包即可,可通过 API 进行交互,如果定制 client,则依赖 rocketmq-client 这个 jar 包,对其提供的 api 进行再封装。
开源社区地址:
https://github.com/alibaba/RocketMQ

4.Apache RocketMQ (4.0和 4.1)
2016年11月,阿里将RocketMQ捐献给Apache软件基金会,正式成为孵化项目

三、rocketMQ安装

1.安装前需先安装的环境。
jdk安装
maven安装
git安装
以上的安装不再赘述

2.下载rocketMQ源码以及编译

git clone -b develop https://github.com/apache/incubator-rocketmq.git
cd incubator-rocketmq
mvn -Prelease-all -DskipTests clean install -U

在maven编译的时需要下载很多依赖包,可能需要较长的时间。
编译完成后进入
cd distribution/target
可以看到下图的文件结构

rocketMQ简介及安装

3.启动nameserv和broker

进入apache-rocketmq下的bin目录
cd apache-rocketmq/bin
rocketMQ简介及安装
rocketMQ的操作命令文件全部在这个目录下

nohup sh mqnamesrv (启动nameserv)

nohup sh mqbroker -n localhost:9876 (启动broker)

因为rocketMQ的默认分配内存都比较大,我们在测试安装时机器配置一般都达不到内存要去,一般都需要改小启动内存
runbroker.sh (broker启动时的jvm内存配置)
runserver.sh (nameserv启动时的jvm内存配置)