rocketmq 4.X 扩容思路

  1. 云栖社区>
  2. 博客列表>
  3. 正文

rocketmq 4.X 扩容思路

晴天哥 2018-11-26 09:48:14 浏览330 评论0

摘要: 开篇  周末抽空去参加了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号东谷创业园(上下班有多趟班车)

【云栖快讯】阿里云栖开发者沙龙(Java技术专场)火热来袭!快来报名参与吧!  详情请点击

网友评论