开篇

 周末抽空去参加了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的读允许保证数据依然能够消费。

未来的架构

说明:

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

招聘信息

【招贤纳士】

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

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

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

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

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

rocketmq 4.X 扩容思路相关推荐

  1. RocketMQ如何动态扩容和缩容

    本文来说下RocketMQ如何动态扩容和缩容 文章目录 整体思路 Rocketmq与kafka副本机制的区别 Rocketmq单机版本中如何增加吞吐量 整体思路 RocketMQ如何动态扩容和缩容 a ...

  2. 并发编程-24 高并发处理手段之扩容思路 + 缓存思路

    文章目录 概述 扩容思路 垂直扩展(纵向扩展) 水平扩展(横向扩展) 缓存思路 缓存特征 缓存命中率影响因素 缓存分类和应用场景 Guava Cache Memcache Redis 概述 这里只是讲 ...

  3. 消息中间件学习总结(5)——RocketMQ之Apache RocketMQ背后的设计思路与最佳实践

    摘要:为了更好地让开发者们更加深入了解阿里开源,阿里云云栖社区在3月1号了举办"阿里开源项目最佳实践"在线技术峰会,直播讲述了当前阿里新兴和经典开源项目实战经验以及背后的开发思路. ...

  4. 亿级流量架构之服务器扩容思路及问题分析

    为什么要扩容 说人话就是, 无论如何优化性能,能达到的最大值是一定的,对于一个用户量大的应用,可以对服务器进行各种优化,诸如‍限流‍.资源隔离,但是上限还是在那里,这时候就应该改变我们的硬件,例如使用 ...

  5. 亿级流量架构:为什么要扩容?服务器扩容思路及问题分析

    为什么要扩容 说人话就是, 无论如何优化性能,能达到的最大值是一定的,对于一个用户量大的应用,可以对服务器进行各种优化,诸如限流.资源隔离,但是上限还是在那里,这时候就应该改变我们的硬件,例如使用更强 ...

  6. 亿级流量架构:服务器扩容思路及问题分析

    为什么要扩容 说人话就是, 无论如何优化性能,能达到的最大值是一定的,对于一个用户量大的应用,可以对服务器进行各种优化,诸如限流.资源隔离,但是上限还是在那里,这时候就应该改变我们的硬件,例如使用更强 ...

  7. RocketMQ 1.学习资料 2.面试题 3.知识点

    前言 这篇文章分三方面来介绍RocketMQ 1.学习资料 2.面试题 3.知识点 学习资料 官方 官方文档 rocketmq.apache.org/docs/simple- 官方github git ...

  8. c盘扩容提示簇被标记_技能+ | C盘空间满了怎么办?无需格式化、不用重装系统,教你如何轻松搞定扩容...

    是的,你没看错--在平时写理财的公众号,居然能看到这种内容. 虽然公众号的内容以投资理财居多,但这里更是学习.成长.思考.分享.记录的平台.在前边的文章,就分享过:MIUI系统的自动任务.万象息屏,或 ...

  9. linux根目录硬盘空间不足的扩容与报错信息解决

    目录 一.增添硬盘设备 1.物理层面上的增加一块硬盘设备 2.管理硬盘设备 3.硬盘过载处理方法 二.硬盘扩容 1.扩容思路 2.扩容步骤 3.报错解决 在我们使用linux的过程中,随着我们的学习和 ...

最新文章

  1. Apache2.4部署python3.6+django2.0项目
  2. 限制 计算机中 某用户上网 win7,Win7旗舰版怎么限制孩子的上网时间?电脑限制孩子上网时间的方法...
  3. svg path绘制心形_SVG 菜鸟的 Recharts 自定义图表实战
  4. Mybatis中强大的resultMap
  5. 剑指 Offer II 106. 二分图
  6. Android事件分发机制(一)
  7. 解决域用户安装软件权限问题
  8. python上传文件到云服务器,python基于paramiko将文件上传到服务器代码实现
  9. php数字转成字符串的函数,php怎么将数字转成字符串?
  10. 设计模式:设计模式经典总结
  11. 74HC573锁存器
  12. 好软推荐之FeedDemon
  13. NVIDIA TX2---Tegra架构介绍
  14. Windows安装Nginx并设置开机自启
  15. java指定小数点位数_Java指定保留小数位数的方法
  16. 物联网蓝牙芯片的选型
  17. 1.投骰子的随机游戏
  18. android 调用微信语音识别,Android 仿微信语音识别
  19. java支付宝对账功能开发_java后台实现支付宝对账功能
  20. 阳光保险在港交所更新招股书:上半年收入630亿元,净利润17亿元

热门文章

  1. maven清理缓存_mybatis源码初探【二】缓存的实现
  2. ROS入门笔记(十):编写与测试简单的消息发布器和订阅器(C++)
  3. python中的sklearn.svm.svr_支持向量机SVM--sklearn 参数说明
  4. android image 转yuv_Android将camera获取到的YuvData在jni中转化为Mat方法
  5. C++ 偏微分数值计算库_一文带你了解计算流体力学CFD及其应用领域
  6. java会被rust替代吗_Rust 未来会成为主流的编程语言吗?
  7. java spark dataset_Spark 2.0介绍:Dataset介绍和使用
  8. android mac转数据格式转换,mac环境下Android 反编译
  9. python字符子串_子字符串和子序列(Python),子串,python
  10. html5自动填充父类框,html5和css3进阶(浮动)----02