Mac M芯片安装RocketMQ服务 以及MQ集群、Dledger集群

阿里开源的基于MVC架构,JAVA语言开发的,异步的消息序列;消息流转模型;

MQ:MessageQueue消息队列,消息是在不同进程之间传递的数据,可以是一台机器也可以分布在不同机器。队列是具有FIFO特性的结构,用来缓存数据的。

MQ的主要作用:

异步;解耦;削峰

安装

官方下载版本 :下载 | RocketMQ

下载Binary后解压到本地,如下图:

环境配置

一:配置内存大小

基于自己电脑的配置设置rocketmq的大小

1.bin目录下runserver.sh文件,根据自己jdk的版本,如果为8及以下的调整绿色箭头else之前的;9及以后的放入else之后

调整-Xms4g -Xmx4g (以自己的实际为准,太小了容易OOM)

2.bin目录下runbroker.sh文件,调整 -Xms8g -Xmx8g (以自己的实际为准,太小了容易OOM)

注意:可能会因为jdk版本的问题导致GC失败,加上XX:+UnlockExperimentalVMOptions -XX:+UseG1GC即可如下:

JAVA_OPT="${JAVA_OPT} -server -Xms8g -Xmx8g -XX:+UnlockExperimentalVMOptions -XX:+UseG1GC"

二:启动:
【1】启动NamesrvStartup

1.建一个logs文件夹

2.然后执行 nohup ./mqnamesrv > ../logs/namesrv.log 2>&1 &

3.检查namesrv.log文件发现结尾处有 The Name Server boot success. serializeType=JSON, address 0.0.0.0:9876就成功了;

【2】启动mqbroker

1.给配置环境变量

vim ~/.bash_profile 加入 export NAMESRV_ADDR=localhost:9876 ;

保存完成然后执行 source ~/.bash_profile让配置生效

2.执行 nohup ./mqbroker > ../logs/mqbroker.log 2>&1 &

3.检查mqbroker.log 结尾出现The brokerMacBook-Air.local, IP:10911 boot success. serializeType=JSON and name server is localhost:9876就算成功

整体运行成功就是这样:

测试:

1.bin路径下执行 ./tools.sh org.apache.rocketmq.example.quickstart.Producer

2.看到消息发送成功

3.接受消息,同样bin下执行 :./tools.sh org.apache.rocketmq.example.quickstart.Consumer

这样就成功了恭喜你安装完整!

MQ集群

在配置文件下有三种方式:

2m-2s:两主两从;

async-同步方式为异步,效率更高(m->s); sync-同步方式为同步,消息更可靠;noslave-无从

配置2m-2s-async /2m-2s-sync/ 2m-noslave里的主从文件

注:如果 Master 宕机,客户端不会自动切换到 Slave,Slave 只是备份数据,消息发送/消费都会失败,需要人工或者外部逻辑来做 Broker 恢复或者切换。

Dledger集群

作用:

1.集群选举产生master节点,保证高可用(超过半数才会成功)。

2.在各种分布式场景下,保证消息CommitLog日志强一致性(意味着处理的事情复杂繁忙,性能会降低相比于传统的MQ集群,也容易受网络的影响)

企业使用一般较少

RocketMQ Dashboard

可视化工具,下载源代码,编译,然后启动

后续会再补充一些相关;

相关推荐
阿昌喜欢吃黄桃4 天前
RocketMq事务消息原理
java·中间件·消息队列·rocketmq·mq
huisheng_qaq7 天前
【项目篇-01】Vmware虚拟机和环境安装配置
redis·mysql·canal·rocketmq·es·vaware虚拟机
码农飞哥8 天前
RocketMQ消费接口设计实战:为什么HTTP回调接口必须吞掉所有异常,始终返回成功?
网络协议·http·中间件·消息队列·rocketmq
阿维的博客日记8 天前
细说RocketMQ双网卡问题
rocketmq
北城以北88888 天前
RocketMQ简介
java·spring boot·后端·rocketmq
IT界的老黄牛9 天前
RocketMQ 4.x 任意秒数延迟消息工程实战:MQ 粗延迟 + Redis 补精度 + MDC 链路透传
redis·rocketmq·事务消息·延迟消息
至此流年莫相忘9 天前
Windows 环境下 RocketMQ 安装与 NSSM 后台服务化部署指南
windows·rocketmq
折哥的程序人生 · 物流技术专研10 天前
《Java 100 天进阶之路》第95篇:消息队列基础(RocketMQ/Kafka)(2026版)
java·面试·kafka·rocketmq·java-rocketmq·求职招聘
景川呀10 天前
RocketMq知识点
java·rocketmq·java-rocketmq
cfm_291412 天前
RocketMQ源码深度解析(三)消息持久化机制
rocketmq