RocketMQ 介绍与安装

发布时间:2022-06-26 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了RocketMQ 介绍与安装脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。

目录
  • RocketMQ 介绍
    • MQ 介绍
    • MQ 作用
    • MQ 缺点
    • MQ 常见产品
    • RocketMQ 简介
    • RocketMQ 架构
  • RocketMQ 安装

RocketMQ 介绍

MQ 介绍

定义

  • MQ(Message Queue,消息队列)是一种用来保存消息数据的队列。

  • 队列:数据结构的一种,特征为“先进先出”。

RocketMQ 介绍与安装

RocketMQ 介绍与安装

MQ 作用

  • 应用解耦

  • 快速的应用变更和维护

  • 流量削锋(削峰填谷)

MQ 缺点

  • 系统可用性降低(解决:搭集群)
  • 系统复杂度提高(解决:程序员提升水平)
  • 异步消息机制(以下都有解决方案
    • 消息时序性
    • 消息丢失
    • 消息一致性
    • 消息重复使用

MQ 常见产品

  • ActiveMQ :Java 语言实现,万级数据吞吐量,处理速度 ms 级,主从架构,成熟度高。
  • RabbITMQ :Erlang 语言实现,万级数据吞吐量,处理速度 us 级,主从架构。
  • RocketMQJava 语言实现,十万级数据吞吐量,处理速度 ms 级,分布式架构,功能强大,扩展性强
  • kafka :Scala 语言实现,十万级数据吞吐量,处理速度 ms 级,分布式架构,功能较少,应用于大数据较多。

RocketMQ 简介

RocketMQ 是阿里开的一款非常优秀中间件产品,脱胎于阿里的另一款队列技 MetaQ,后捐赠给 apache 基金会作为一款孵化技术,仅仅经历了一年多的时间就成为 Apache 基金会的顶级项目。并且现在已经在阿里内部被广泛应用,且经受住了多次双十一的这种极致场景的压力(2017 年的双十一,RocketMQ 流转的消息量达到了万亿级,峰值 TPS 达到 5600 万)。

同时,它还解决了上述提到的所有的消息队列的缺点。

RocketMQ 架构

@H_861_126@

RocketMQ 安装

1)安装 JDK

2)解压 RocketMQ 安装包(下载地址):unzip rocketmq-all-4.5.2-bin-release.zip

3)修改目录名称:mv rocketmq-all-4.5.2-bin-release rocketmq

4)调整 RocketMQ 的启动内存

  • RocketMQ 的默认内存占用非常高,一般需要 4-8G 的虚拟机 JVM 参数空间,因此可以通过更改 mqbroker 和 mqnamesrv 的配置来调整内存(调整的与当前虚拟机内存匹配即可,推荐 256m-128m)。

  • RocketMQ 有两个启动脚本:bin 目录下的 runbroker.sh 和 runserver.sh,编辑如下内容,然后重新启动 broker 。

# vi runserver.sh
JAVA_OPT=”${JAVA_OPT} -server -XMs128m -Xmx128m -Xmn128m -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=320m”

# vi runbroker.sh
JAVA_OPT=”${JAVA_OPT} -server -Xms128m -Xmx128m -Xmn125m
  • mqbroker 和 mqnamesrv 的内存也可以调整,这两项配置也很重要,默认是 500m 到 1g 。具体文件配置是 mqbroker.xML 和mqnamesrv.xml(文件里面的配置信息根据自己的情况修改):
<options>
         <-Xms200m></-Xms200m>
         <-Xmx200m></-Xmx200m>
         <-XX:NewSize>50M</-XX:NewSize>
         <-XX:MaxNewSize>50M</-XX:MaxNewSize>
         <-XX:PErmSize>30M</-XX:PermSize>
         <-XX:MaxpermSize>30M</-XX:MaxPermSize>
 </options>
  • 注意:mqbroker.xml 和 mqnamesrv.xml 的内存不要超过 runbroker.sh 和runserver.sh 的内存,不然会因为内存不够导致崩溃

5)bin 目录下启动命名服务

# 显式启动命名服务(默认端口 9876)
sh mqnamesrv
# 后台启动
nohup sh mqnamesrv &amp;
# 可以在当前目录的 nohup.out 中查看日志输出

6)bin 目录下启动消息服务

# 显式启动消息服务,并指定命名服务的地址
sh mqbroker -n localhost:9876
# 后台启动
nohup sh mqbroker -n localhost:9876 &
# 指定配置文件
sh mqbroker -n localhost:9876 -c ../conf/broker.conf
# 可以在当前目录的 nohup.out 中查看日志输出

7)关闭火墙

# 暂时关闭防火墙
Systemctl stop firewalld

# 永久设置防火墙状态
systemctl enable firewalld.service  # 打开
systemctl disable firewalld.service  # 关闭

8)测试

# 配置命名服务地址
export NAMESRV_ADDR=localhost:9876
# 启动后产生大量日志信息(该信息是测试程序中自带的,不具有通用性)
sh tools.sh org.apache.rocketmq.example.quickstart.PRoducer
# 启动后产生大量日志信息(该信息是测试程序中自带的,不具有通用性)
sh tools.sh org.apache.rocketmq.example.quickstart.Consumer

脚本宝典总结

以上是脚本宝典为你收集整理的RocketMQ 介绍与安装全部内容,希望文章能够帮你解决RocketMQ 介绍与安装所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。