阿里消息中间件rocketMQ的安装

一、MQ 介绍

MQ(Message Queue)消息队列,是基础数据结构中“先进先出”的一种数据机构。指把要传输的数据(消息)放在队列中,用队列机制来实现消息传递——生产者产生消息并把消息放入队列,然后由消费者去处理。消费者可以到指定队列拉取消息,或者订阅相应的队列,由MQ服务端给其推送消息。

二、rocketMQ的作用

RocketMQ是一个分布式消息中间件,并支持事务消息、顺序消息、批量消息、定时消息、消息回溯等。它里面有几个区别于标准消息中件间的概念,如Group、Topic、Queue等。系统组成则由Producer、Consumer、Broker、NameServer等。
RocketMQ以Topic来管理不同应用的消息,对于生产者(producer)而言,发送消息时需要指定消息的Topic,对于消费者(consumer)而言,在启动后需要订阅相应的Topic,然后可以消费相应的消息。Topic是逻辑上的概念,在物理实现上,一个Topic由多个Queue组成,采用多个Queue的好处是可以将Broker存储分布式化,提高系统性能。

三、rocketMQ安装

1、基于linux系统下的安装,首先需要先下载rocketMQ

官网:https://github.com/apache/rocketmq/tree/master/docs/cn
百度网盘:https://pan.baidu.com/s/1E8ImGssvhqG5WgCarZBlJA
提取码: ehan

2、将下载好的rocketMQ上传到/usr/local/rocketMQ下并解压
cd /usr/local/rocketMQ

unzip rocketmq-all-4.8.0-bin-release.zip

解压后文件目录结构
在这里插入图片描述

3、启动 mqnamesrv

切换到 bin目录下

//切换目录
cd /usr/local/rocketMQ/rocketmq-all-4.8.0-bin-release/bin
//启动
nohup sh  mqnamesrv  &
4、启动broker
//切换目录
cd /usr/local/rocketMQ/rocketmq-all-4.8.0-bin-release/bin
//启动
nohup sh mqbroker -n localhost:9876 &
5、查看服务是否启动

终端输入 jps 命令

jps

如果出现NamesrvStartup,BrokerStartup即启动成功

在这里插入图片描述

6、错误:如果没有启动成功,则可能是rocketMQ启动内存太大,需要修改启动参数

1、使用 vi 打开bin目录下的 runbroker.sh以及runserver.sh
2、修改参数为
JAVA_OPT="${JAVA_OPT} -server -Xms256m -Xmx256m -Xmn128m" 并保存
3、重启 nohup sh mqbroker -n localhost:9876 &

//路径切换
cd /usr/local/rocketMQ/rocketmq-all-4.8.0-bin-release/bin

//vi 打开runbroker.sh文件
vi ./runbroker.sh

//vi 打开runserver.sh文件
vi ./runserver.sh
//修改参数为JAVA_OPT="${JAVA_OPT} -server -Xms256m -Xmx256m -Xmn128m"并保存
//重启 mqbroker 
nohup sh mqbroker -n localhost:9876 &

在这里插入图片描述

7、至此rocketMQ启动完成,测试rocketMQ的生产消息与消费消息

1)、打开两个中端,都切换到bin目录下

2)、第一个终端生产消息,命令如下:

//配置如下
// 1、切换到bin目录
cd usr/local/rocketMQ/rocketmq-all-4.8.0-bin-release/bin

// 2、配置临时变量
export NAMESRV_ADDR=localhost:9876

// 3、执行生产消息命令
sh tools.sh org.apache.rocketmq.example.quickstart.Producer

3)、第二个终端消费消息,命令如下:

//配置如下
// 1、切换到bin目录
cd usr/local/rocketMQ/rocketmq-all-4.8.0-bin-release/bin

// 2、配置临时变量
export NAMESRV_ADDR=localhost:9876

// 3、执行消费消息命令
sh tools.sh org.apache.rocketmq.example.quickstart.Consumer

至此,生产消息者再次执行
sh tools.sh org.apache.rocketmq.example.quickstart.Producer时消费服务就会时刻监听生产服务的消息,并且生产服务生产完消息后就会结束,而消费服务一直处于监听状态,监听生产服务的消息。
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值