【无标题】

文章介绍了RocketMQ的基本概念,如消息队列的生产者-消费者模型,以及MQ在异步处理、系统解耦和流量削峰三大场景的应用。接着详细讲述了如何在Linux中安装RocketMQ,包括修改配置、启动nameServer和broker。最后提到了RocketMQ提供的可视化控制台管理和使用。
摘要由CSDN通过智能技术生成

学习目标

  • 能够在Linux中安装RocketMq

  • 了解RocketMq控制台

  • 通过JavaAPI操作Rocketmq

1. MQ 介绍

MQ全称:Message Quene ,也就是我们常说的消息队列,它是生产者-消费者模型的一个典型代表

  • 生产者往消息队列中不断写入消息,而消费者则读取队列中的消息进行处理

比如:

简单理解:MQ就是一个可以接收、保存、发送数据的应用,可以认为一个 List 就是一个mq

2. 应用场景

MQ有 3 大应用场景:

1. 异步

发送消息到队列,让一些非必要的业务以异步的方式运行,加快响应的速度

没有mq的时候,我们网上买东西,

后台逐个的:下订单、发短信、增加积分,这样时间比较长,用户体验不好

有了MQ

下完订单后,发送一条消息给MQ,之后立即返回,这样减少客户等待时间

后台 积分服务和短信服务 分别读取消息,并行的给客户增加积分和发送短信

2. 解耦

使各个服务之间不必强依赖,避免一个服务产生问题而影响其他服务

客户下单成功后,订单系统需要通知库存系统去减库存,一般情况下是这样子的

使用MQ

这样的话,就算库存服务故障,也不会影响到客户,同时MQ也存储了消息,等库存服务恢复,再读取处理就行了

3. 削峰

当请求过多的时候后端服务可能处理不过来,这时候就可以把请求放到消息队列,让后端服务一个个处理

没有MQ的时候

请求直接通过系统A直接写入数据库,会给数据库造成极大的压力,甚至出现数据库异常,最终导致系统崩溃。

有了MQ

这样的话,系统从消息队列中依次取出请求处理,虽然速度会慢上一些,但是好处:

  • **可以控制请求下单的数量,超过指定数量的请求直接丢弃,**比如抢购:超过数量的请求直接返回失败

  • 缓解短时间内的高流量请求,让系统按照自己的最大处理能力去处理请求,这样会避免系统压力过大,甚至崩溃的情况。另外,在生产环境中,短暂的高峰期积压也是允许的。

3. Rocket MQ 介绍

RocketMQ是阿里巴巴出品的一款开源的纯java、分布式、队列模型的开源消息中间件

官网地址:https://rocketmq.apache.org/

角色介绍

  • producer:生产者

  • consumer:消费者

  • broker:存储消息,接收 producer 的消息,发送给 consumer

  • nameserver:服务发现者,类似注册中心,集群中各个角色(producer、broker、consumer等)都需要定时向nameserver上报自己的状态,超时不上报的话,nameserver会把它从列表中剔除

4. 安装

官方文档:https://rocketmq.apache.org/zh/docs/4.x/introduction/02quickstart

1. 安装要求

  • 64bit OS, Linux/Unix/Mac

  • 64bit JDK 1.8+

2. 安装jdk

省略

3. 安装RocketMq

1. 解压

rocketmq-all-4.9.3-bin-release.pdf 修改后缀为zip

上传到:/home/soft

解压:unzip rocketmq-all-4.9.3-bin-release.zip

注意:如果没有unzip命令,执行:yum install zip unzip

修改 目录名称

2. 配置

RocketMQ 的默认内存占用非常高,一般需要 4-8G ,我们虚拟机没有这么大的内存,所以需要修改

它的 bin 目录下有2个启动脚本:runbroker.sh 和 runserver.sh

  • runbroker.sh

  • runserver.sh

修改 conf/broker.conf 文件,增加两行

namesrvAddr=127.0.0.1:9876
# 当前brker监听的IP地址,用于生产者、消费者建立连接,如果有多个IP地址,要指定一个
brokerIP1=192.168.56.104

3. 启动

1. 启动 nameServer

进入:/home/soft/rocketmq 文件夹,执行:nohup sh bin/mqnamesrv &

默认情况下日志在 "~" 文件夹

注意:nameServer 默认监听的是9876端口

2. 启动 broker

进入:cd /home/soft/rocketmq 目录

执行:nohup sh bin/mqbroker -n localhost:9876 -c conf/broker.conf &

  • -n localhost:9876:表示启动时连接nameServer

  • -c conf/broker.conf:指定启动时的配置文件

查看日志: tail -f ~/logs/rocketmqlogs/broker.log

3. 关闭

关闭命令:sh bin/mqshutdown broker、sh bin/mqshutdown namesrv

注意:以上命令都是在 /home/soft/rocketmq/ 目录执行

4. 控制台

Rocket MQ提供了一个可视化的界面,用与管理数据

rocketmq-dashboard-rocketmq-dashboard-1.0.0.pdf 修改后缀名为 tar.gz

地址:https://github.com/apache/rocketmq-dashboard/releases/tag/rocketmq-dashboard-1.0.0

下载下来是个spring boot 工程,可以导入 idea 中,修改application.properties

启动项目前确保 rocketmq 所在的机器,防火墙已经关闭

启动成功后,访问:http://localhost:8080/

也可以用官方的说法,修改application.properties后,在命令行执行:

mvn clean package -Dmaven.test.skip=true

这样把项目打成一个 jar 包,然后 java -jar rocketmq-console-ng-1.0.0.jar

weixin151云匹面粉直供微信小程序+springboot后端毕业源码案例设计 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值