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

部署rocketmq集群

容器化部署RocketMQ5.3.1集群
背景: 生产环境单机的MQ不具有高可用,所以我们应该部署成集群模式,这里给大家部署一个双主双从异步复制的Broker集群
一、安装docker
yum install -y docker
systemctl enable docker --now
# 单机部署参考:
https://www.cnblogs.com/hsyw/p/17429834.html
二、集群部署
2.1、基础概念介绍
单节点 :
优点:本地开发测试,配置简单,同步刷盘消息一条都不会丢
缺点:不可靠,如果宕机,会导致服务不可用

主从(异步、同步双写) :
优点:同步双写消息不丢失, 异步复制存在少量丢失 ,主节点宕机,从节点可以对外提供消息的消费,但是不支持写入
缺点:主备有短暂消息延迟,毫秒级,目前不支持自动切换,需要脚本或者其他程序进行检测然后进行停止broker,
重启让从节点成为主节点

双主:
优点:配置简单, 可以靠配置RAID磁盘阵列保证消息可靠,异步刷盘丢失少量消息
缺点: master机器宕机期间,未被消费的消息在机器恢复之前不可消费,实时性会受到影响

双主双从,多主多从模式(异步复制)我们这里采用这种
优点:磁盘损坏,消息丢失的非常少,消息实时性不会受影响,Master 宕机后,消费者仍然可以从Slave消费
缺点:主备有短暂消息延迟,毫秒级,如果Master宕机,磁盘损坏情况,会丢失少量消息

双主双从,多主多从模式(同步双写)
优点:同步双写方式,主备都写成功,向应用才返回成功,服务可用性与数据可用性都非常高
缺点:性能比异步复制模式略低,主宕机后,备机不能自动切换为主机

概念
rocketmq分为Name Server和Broker Server

名字服务(Name Server)
名称服务充当路由消息的提供者。生产者或消费者能够通过名字服务查找各主题相应的Broker IP列表。多个Namesrv实例组成集群,但相互独立,没有信息交换。
是Topic路由注册中心,端口默认为9876

代理服务器(Broker Server)
消息中转角色,负责存储消息、转发消息。代理服务器在RocketMQ系统中负责接收从生产者发送来的消息并存储、同时为消费者的拉取请求作准备。代理服务器也存储消息相关的元数据,包括消费者组、消费进度偏移和主题和队列消息等。

端口有三个
listenPort:默认10911,接受客户端连接的监听端口,作为对producer和consumer使用服务的端口号,可以通过配置文件改
haListenPort:默认为listenPort + 1,高可用服务监听端口,主要用于slave同master同步
fastListenPort:默认为listenPort -2, 主要是fastRemotingServer服务使用,用于VIP通道

2.2、集群规划、部署
双主双从异步复制的Broker集群

集群角色划分如下

主机名    IP    功能    集群角色
node1    10.7.8.73    NameServer+Broker    Master01+Slave02
node2    10.7.215.96    NameServer+Broker    Master02+Slave01
2.2.1、部署rmqnamesrv
两台的rmqnamesrv节点都直接运行即可【10.7.8.73、10.7.215.96】


mkdir -p /rocketmq/r

http://www.xdnf.cn/news/28729.html

相关文章:

  • django基于爬虫的网络新闻分析系统的设计与实现(源码+lw+部署文档+讲解),源码可白嫖!
  • 【PyTorch】colab上跑VGG(深度学习)数据集是 CIFAR10
  • B端APP设计:打破传统限制,为企业开启便捷新通道
  • 软件架构分层策略对比及Go项目实践
  • 深度解析 SOA:架构原理、核心优势与实践挑战
  • 2025年渗透测试面试题总结-拷打题库06(题目+回答)
  • LeetCode每日一题4.19
  • 【Bluedroid】蓝牙存储模块配置管理:启动、读写、加密与保存流程解析
  • sqlilabs-Less之HTTP头部参数的注入——基础篇
  • [HCIP] OSPF 综合实验
  • Vue3+TS中svg图标的使用
  • 数据分析与挖掘
  • RAGFlow在Docker中运行Ollama直接运行于主机的基础URL的地址
  • opencv 给图片和视频添加水印
  • leetcode57.插入区间
  • Windows系统C盘深度清理指南
  • 车载诊断新架构--- SOVD初入门(上)
  • 23种设计模式-创建型模式之原型模式(Java版本)
  • 医疗器械电磁兼容相关标准
  • 豆瓣图书数据采集与可视化分析(一)- 豆瓣图书数据爬取
  • 性能比拼: Deno vs. Node.js vs. Bun (2025版)
  • C++之虚函数 Virtual Function
  • Redis 的持久化机制(RDB, AOF)对微服务的数据一致性和恢复性有何影响?如何选择?
  • 零基础上手Python数据分析 (18):Matplotlib 基础绘图 - 让数据“开口说话”
  • FPGA——基于DE2_115实现DDS信号发生器
  • FPGA IO引脚 K7-认知4
  • 【java实现+4种变体完整例子】排序算法中【插入排序】的详细解析,包含基础实现、常见变体的完整代码示例,以及各变体的对比表格
  • windows下用xmake交叉编译鸿蒙.so库
  • 交换机与路由器的主要区别:深入分析其工作原理与应用场景
  • hackmyvm-airbind