文章目录
一、RocketMQ简介
RocektMQ是阿里巴巴在2012年开源的一个纯java、分布式消息中间件。RocektMQ具有低延迟、高性能、可靠性、万亿级别的容量和灵活的可伸缩性。2016年阿里巴巴将RocketMQ捐赠给Apache,2017年9月RocketMQ正式从Apache社区正式毕业,成为Apache顶级项目。
二、消息队列优点
消息队列的有应用解耦、流量削峰、消息分发等多种优点。
本文接下来详细介绍RocketMQ安装步骤。
三、单机安装步骤
1、环境要求
1)64bit OS
2)64bit JDK 1.8+;
3)Maven 3.2.x;
4)Git;
5)4g+ free disk for Broker server
2、下载
从https://www.apache.org/dyn/closer.cgi?path=rocketmq/4.7.1下载4.7.1版本二进制包。
3、Linux环境安装
将二进制压缩包解压,进入bin目录。
首先启动Name Server,
nohup sh bin/mqnamesrv &
之后启动Broker:
nohup sh bin/mqbroker -n localhost:9876 &
接下来就可以收发消息了。
Linux环境安装比较简单,下面重点介绍windows环境安装。
4、Windows环境安装
下面的步骤是Windows10上进行的,要求必须安装powershell。
1)将二进制包解压到D:\rocketmq下
2)设置环境变量
ROCKETMQ_HOME=D:\rocketmq
NAMESRV_ADDR=localhost:9876
3)启动Name Server
打开powershell,执行如下命令:
.\bin\mqnamesrv.cmd
当出现下图时即为启动成功:
4)启动Broker
打开一个新的powershell,执行如下命令:
.\bin\mqbroker.cmd -n localhost:9876 autoCreateTopicEnable=true
出现下图表示启动成功。
日志文件中也可以看到启动成功的信息,默认情况下rocketMQ将日志打印在个人目录的logs\rocketmqlogs下。
可以修改conf目录下logback_broker.xml和logback_namesrv.xml的配置将日志打印在指定位置。
5、程序访问
生产者代码:
public class Producer {
public static void main(String[] args) throws Exception{
DefaultMQProducer producer = new DefaultMQProducer("producer-A");
producer.setNamesrvAddr ("localhost:9876");
producer.start() ;
for (int i = 0 ; i < 100 ; i++) {
//Create a Message instance, specify ng Top工 c tag and Message
Message msg =new Message("TopicTest" /* Topic */ ,
"TagA" /* Tag*/ ,
("Hello RocketMQ " + i)