当前位置: 首页 > 科技观察

MQ实战-RocketMQ不同可用区导致消费不均衡

时间:2023-03-11 22:32:15 科技观察

1.现象反馈商科同学反映有一个服务在容器部署后不断收到积压告警。该服务对积压很敏感,影响了派单的及时性。原先部署在ECS上的服务没有积压,可以随时迁移到容器中。下面是商科学生做的排除测试。另外,容器目前部署在J/K可用区,而MQ集群部署在B/G/F区。回滚到原来的ECS部署,积压就消失了。原可用区扩容ECS应用无积压。新可用区J/K中的ECS应用程序存在积压。备注:显然,积压与可用区有关。2.积压监控在容器迁移过程中,通过分区积压来比较有容器消耗和ECS消耗的节点。ECS消费分区积压监控备注:显然ECS节点没有积压。容器消费分区积压监控备注:积压较大的分区分布在容器节点上。3.可用区耗时监控J/F可用区延迟G/B/K可用区延迟备注:J/K区延迟比其他可用区长0.5ms左右。四、解决方案由于是可用区延迟导致的,可以考虑以下几种措施:1.将MQ集群迁移到J/K可用区。由于其他可用区还有重要的服务,显然不可行。2.在非J/K可用区部署容器,可以相对考虑可用区的平衡,但不同可用区混用是很难避免的,不可行。3.提高消费能力通过增加容器节点的部署和增加消费线程池的大小来提高消费能力,可以起到立竿见影的效果。本文转载自微信公众号“瓜农老粮”,可通过以下二维码关注。转载本文请联系瓜农老梁公众号。