高可用服务 AHAS 在消息队列 MQ 削峰填谷场景下的应用

  1. 云栖社区>
  2. 阿里巴巴中间件>
  3. 博客>
  4. 正文

高可用服务 AHAS 在消息队列 MQ 削峰填谷场景下的应用

中间件小哥 2019-03-01 13:01:43 浏览3063
展开阅读全文

在消息队列中,当消费者去消费消息的时候,无论是通过 pull 的方式还是 push 的方式,都可能会出现大批量的消息突刺。如果此时要处理所有消息,很可能会导致系统负载过高,影响稳定性。但其实可能后面几秒之内都没有消息投递,若直接把多余的消息丢掉则没有充分利用系统处理消息的能力。我们希望可以把消息突刺均摊到一段时间内,让系统负载保持在消息处理水位之下的同时尽可能地处理更多消息,从而起到“削峰填谷”的效果:

削峰填谷

上图中红色的部分代表超出消息处理能力的部分。

我们可以看到消息突刺往往都是瞬时的、不规律的,其后一段时间系统往往都会有空闲资源。我们希望把红色的那部分消息平摊到后面空闲时去处理,这样既可以保证系统负载处在一个稳定的水位,又可以尽可能地处理更多消息,这时候我们就需要一个能够控制消费端消息匀速处理的利器 — AHAS 流控降级,来为消息队

网友评论

登录后评论
0/500
评论
中间件小哥
+ 关注
所属云栖号: 阿里巴巴中间件