当前位置: 首页 > article >正文

RocketMq环境搭建

目录

MQ作用

RocketMQ背景

MQ对比

RocketMQ环境搭建

搭建dashboard可视化界面


MQ作用

  • 异步
  • 解耦
  • 削峰

RocketMQ背景

​ RocketMQ是阿里巴巴开源的一个消息中间件,在阿里内部历经了双十一等很多高并发场景的考验,能够处理亿万级别的消息。2016年开源后捐赠给Apache,现在是Apache的一个顶级项目。

​ 早期阿里使用ActiveMQ,但是,当消息开始逐渐增多后,ActiveMQ的IO性能很快达到了瓶颈。于是,阿里开始关注Kafka。但是Kafka是针对日志收集场景设计的,他的高级功能并不是很贴合阿里的业务场景。尤其当他的Topic过多时,由于Partition文件也会过多,这就会加大文件索引的耗时,会严重影响IO性能。于是阿里才决定自研中间件,最早叫做MetaQ,后来改名成为RocketMQ。最早他所希望解决的最大问题就是多Topic下的IO性能压力。但是产品在阿里内部的不断改进,RocketMQ开始体现出一些不一样的优势。

MQ对比

优点缺点适合场景
Apache Kafka吞吐量非常大,性能非常好,集群高可用。会有丢数据的可能,功能比较单一日志分析、大数据采集
RabbitMQ消息可靠性高,功能全面。erlang语言不好定制。吞吐量比较低。企业内部小规模服务调用
Apache Pulsar基于Bookeeper构建,消息可靠性非常高。周边生态还有差距,目前使用的公司比较少。企业内部大规模服务调用
Apache RocketMQ高吞吐、高性能、高可用。功能全面。客户端协议丰富。使用java语言开发,方便定制。服务加载比较慢。几乎全场景,特别适合金融场景

RocketMQ环境搭建

1. 安装jdk环境,配置环境变量,jdk版本1.8

2. 下载并解压rocketmq安装包,rmq版本4.9.5

 3. 由于虚拟机环境内存很小,而默认jvm内存配置太高, 调低内存(生产环境可不改)

        a 修改bin/runbroker.sh文件

        b 修改bin/runbroker.sh文件 

 4. 设置broker自动创建topic,在conf/broker.conf加如下配置

autoCreateTopicEnable=true

5. 设置环境变量NAMESRV_ADDR(非必须, 测试工具用)

通过vi ~/.bash_profile添加以下配置。然后使用source ~/.bash_profile让配置生效。

export NAMESRV_ADDR='localhost:9876' 

 6. 分别启动nameserver服务和broker服务

# 启动nameserver服务

nohup bin/mqnamesrv &

# 启动broker服务

nohup bin/mqbroker &

# 关闭nameserver服务

bin/mqshutdown namesrv

# 关闭broker服务

bin/mqshutdown broker

jps验证是否启动成功

7. 自带tool工具测试发送&消费消息

        a 发送消息

bin/tools.sh org.apache.rocketmq.example.quickstart.Producer

        b 消费消息

bin/tools.sh org.apache.rocketmq.example.quickstart.Consumer

搭建dashboard可视化界面

1. 去官网下载dashboard源码

2. 注释默认配置rocketmq.config.namesrvAddr, 后面可动态配置

3. 添加解析yml的maven依赖, 不然启动报错

        <dependency>
            <groupId>org.yaml</groupId>
            <artifactId>snakeyaml</artifactId>
            <version>1.27</version>
        </dependency>

4. maven打包成jar包

mvn clean package -Dmaven.test.skip=true

5. 把jar包拷贝到服务器, 并且在同级目录新建一个application.yml文件,配置namesrv地址

application.yml内容配置:

rocketmq.config.namesrvAddr: 192.168.6.128:9876

6. java -jar启动jar包

java -jar rocketmq-dashboard-1.0.0.jar

7. 访问dashboard界面


http://www.kler.cn/news/160768.html

相关文章:

  • AC840. 模拟散列表
  • 软件开发测试系统的建立
  • docker安装informix
  • 大模型发展对教育领域的巨大影响
  • 企业管理平台知识体系构建
  • 2024年江苏省职业院校技能大赛 信息安全管理与评估 第二阶段教师组 (样卷)
  • 酷开科技两大方向提升OTT大屏营销能力
  • ios 逆向分分析,某业帮逆向算法(二)
  • 英伟达将在日本建立AI工厂网络
  • 【高数:2 数列的极限、函数的极限】
  • 如何衡量和提高测试覆盖率?
  • C //例10.3 从键盘读入若干个字符串,对它们按字母大小的顺序排序,然后把排好序的字符串送到磁盘文件中保存。
  • kali linux下可用的wine QQ/微信
  • html和css写淘宝的快速导航条
  • uni-app 微信小程序之自定义navigationBar顶部导航栏
  • 使用函数计算,数禾如何实现高效的数据处理?
  • 系统思考与啤酒游戏经营沙盘
  • Spring Cloud Stream 4.0.4 rabbitmq 发送消息多function
  • 数据库原理: 笛卡儿积
  • 天池SQL训练营(二)-SQL基础查询与排序
  • 用 C 写一个卷积神经网络
  • 2024 年 20 款最佳免费视频转换器软件 [安全快速有效]
  • 【头歌系统数据库实验】实验2 MySQL软件操作及建库建表建数据
  • c++函数模板STL详解
  • Office Tool Plus 使用教程 让个人也能轻松使用上免费的Office
  • 网上商城、宠物商城源码(Java)
  • Vue开发中,在实现单页面应用(SPA)前端路由时的hash模式和history模式的区别及详细介绍
  • MySQL五 | 事务
  • matlab 最小二乘拟合空间直线(方法二)
  • PyTorch 基础篇(1):Pytorch 基础