rocketmq 4.X 扩容思路

简介: 开篇  周末抽空去参加了rocketmq杭州站的Meetup,虽然之前阅读过rocketmq的一些源码,不过本身不是专业运维消息中间件的所以相对的运维经验不足,在跟公司的中间件普大神聊天的时候提到了一些问题,刚好趁这次机会一起请教了。

开篇

 周末抽空去参加了rocketmq杭州站的Meetup,虽然之前阅读过rocketmq的一些源码,不过本身不是专业运维消息中间件的所以相对的运维经验不足,在跟公司的中间件普大神聊天的时候提到了一些问题,刚好趁这次机会一起请教了。

 整个分享过程中有两个问题印象比较深刻:1、master/slave的主从配置下slave重启会重新拷贝master数据导致master的写性能下降;2、现有架构下的broker的扩容思路以及未来broker的读写分离架构,写个文章记录下。

 针对问题一:现有mq的主从同步方式没办法进行限流,提出一个思路就是如果master因为主从同步导致master写入性能下降那么在条件允许的情况下实现master的写禁止。

 针对问题二:现有mq的架构下也可以通过巧用mq的写禁止来实现无缝扩容,扩容思路见下面的图解,额外补充一句:这部分思路纯属个人交流没有实战操作经验,供探索。


扩容思路

扩容前现状

说明:

  • 1、 假设原来的broker集群有两个broker节点,由于容量估算导致磁盘空间不足。
  • 2、 思路一:如果考虑消息可丢失可以通过删除一部分commitlog来释放空间。
  • 3、 思路二:通过扩容broker来实现磁盘空间的可扩容。



扩容后部署

说明:

  • 1、 步骤一:新增3台broker节点,与原来2台broker节点组成5个broker节点集群。
  • 2、 步骤二:由于旧集群的broker依然会进行数据写入,磁盘空间依旧告急。
  • 3、 步骤三:对旧集群的2台broker通过admin配置命令禁止数据写入但依然允许读操作。
  • 4、 效果:通过写禁止解决原broker集群的磁盘空间问题,通过原broker的读允许保证数据依然能够消费。


未来的架构

broker未来架构

说明:

  • 1.、mq的未来版本当中会针对broker进行改造,针对broker层会实现计算和存储的分离。
  • 2、 计算存储分离之后,broker的功能会退化成读写层,变成无状态的一层。
  • 3、 计算存储分离之后,存储层会提供存储扩容功能,具体的细节等mq的版本发布再看。


招聘信息

【招贤纳士】

欢迎热爱技术、热爱生活的你和我成为同事,和贝贝共同成长。

贝贝集团诚招算法、大数据、BI、Java、PHP、android、iOS、测试、运维、DBA等人才,有意可投递zhi.wang@beibei.com

贝贝集团创建于2011年,旗下拥有贝贝网、贝店、贝贷等平台,致力于成为全球领先的家庭消费平台。

贝贝创始团队来自阿里巴巴,先后获得IDG资本、高榕资本、今日资本、新天域资本、北极光等数亿美金的风险投资。

公司地址:杭州市江干区普盛巷9号东谷创业园(上下班有多趟班车)

相关实践学习
RocketMQ一站式入门使用
从源码编译、部署broker、部署namesrv,使用java客户端首发消息等一站式入门RocketMQ。
消息队列 MNS 入门课程
1、消息队列MNS简介 本节课介绍消息队列的MNS的基础概念 2、消息队列MNS特性 本节课介绍消息队列的MNS的主要特性 3、MNS的最佳实践及场景应用 本节课介绍消息队列的MNS的最佳实践及场景应用案例 4、手把手系列:消息队列MNS实操讲 本节课介绍消息队列的MNS的实际操作演示 5、动手实验:基于MNS,0基础轻松构建 Web Client 本节课带您一起基于MNS,0基础轻松构建 Web Client
目录
相关文章
|
6月前
|
消息中间件 存储 Cloud Native
RocketMQ 5.0 VS RocketMQ 4.x 变化知多少?
RocketMQ 5.0 VS RocketMQ 4.x 变化知多少?
264 0
|
消息中间件 存储 缓存
从源码上看,RocketMQ 5.0 跟 RocketMQ 4.x相比增加了哪几个模块
从源码上看,RocketMQ 5.0 跟 RocketMQ 4.x相比增加了哪几个模块
421 0
从源码上看,RocketMQ 5.0 跟 RocketMQ 4.x相比增加了哪几个模块
EMQ
|
消息中间件 监控 安全
EMQX 4.x 版本更新:Kafka 与 RocketMQ 集成安全增强
云原生分布式物联网接入平台EMQX此次发布包含多个功能更新:规则引擎RocketMQ支持ACL检查、Kafka支持SASL/SCRAM与SASL/GSSAPI认证以适配更多部署方式,提升MQTT共享订阅性能。
EMQ
248 0
EMQX 4.x 版本更新:Kafka 与 RocketMQ 集成安全增强
|
1月前
|
消息中间件 存储 监控
RabbitMQ:分布式系统中的高效消息队列
RabbitMQ:分布式系统中的高效消息队列
|
4月前
|
消息中间件 NoSQL 数据库
一文讲透消息队列RocketMQ实现消费幂等
这篇文章,我们聊聊消息队列中非常重要的最佳实践之一:消费幂等。
一文讲透消息队列RocketMQ实现消费幂等
|
1月前
|
消息中间件 Java
springboot整合消息队列——RabbitMQ
springboot整合消息队列——RabbitMQ
74 0
|
3月前
|
消息中间件 JSON Java
RabbitMQ消息队列
RabbitMQ消息队列
45 0
|
3月前
|
消息中间件
RabbitMQ 实现消息队列延迟
RabbitMQ 实现消息队列延迟
121 0
|
11天前
|
消息中间件 存储 负载均衡
消息队列学习之RabbitMQ
【4月更文挑战第3天】消息队列学习之RabbitMQ,一种基于erlang语言开发的流行的开源消息中间件。
15 0
|
1月前
|
消息中间件 存储 中间件
【SpringCloud Stream消息驱动、设计思想以及整合rabbitmq消息队列案例--学习笔记】
【SpringCloud Stream消息驱动、设计思想以及整合rabbitmq消息队列案例--学习笔记】
46 0

热门文章

最新文章