MQ45# 实战|RocketMQ不同可用区导致消费不均衡

服务迁移至J/K可用区的容器中出现积压告警,与MQ集群在B/G/F区的跨区延迟有关。ECS部署无此问题。监控显示ECS消费积压少,容器消费积压多,J/K区延迟比其他区高0.5ms。解决措施包括:调整MQ集群位置、避免跨区部署和提升消费能力。后者即增加容器节点和消费线程池大小能立即缓解积压问题。
摘要由CSDN通过智能技术生成

一、现象反馈

业务同学反馈有个服务在部署容器后不间断收到积压告警,该服务对积压敏感,影响派单的时效性。原来部署到ECS上的服务没有积压情况,准备往容器迁移。下面是业务同学做的排除测试,另外容器当前在J/K可用区部署,而MQ集群部署在B/G/F区。

  • 回退到原ECS部署积压消失

  • 在原可用区申请扩容ECS未出现积压

  • 在新的可用区J/K申请ECS出现积压

备注: 很明显该积压与可用区有关系。

二、积压监控

在迁移容器的过程中,同时有容器消费和ECS消费的节点,通过分区积压进行对比。

ECS消费分区积压监控

备注: 明显ECS的节点没有什么积压。

容器消费分区积压监控

备注: 积压较多的分区分布在容器节点。


三、可用区耗时监控

J/F可用区延迟

G/B/K可用区延迟

备注: J/K区的延迟比其他可用区多0.5ms左右。


四、解决措施

既然由于可用区延迟引起,可以考虑一下几种措施:

1.将MQ集群迁移到J/K可用区

由于其他可用区还有重要业务,明显不可行。

2.将容器发布部署非J/K可用区

容器可以相对考虑可用区的均衡性,但是难以避免不同可用区混部,也不太可行。

3.提高消费能力

通过提高部署容器节点和增加消费线程池大小来提高消费能力可以起到立竿见影的效果。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值