mq是什么意思|为什么使用MQ

mq是什么意思|为什么使用MQ

为什么使用MQ(消息队列),这是一个很经典的问题,在互联网公司里,MQ是必须用到的,有以下场景:

异步处理

例如有一个表单提交,涉及多个系统的交互,形成一个冗长的流程,同步处理完毕,再返回给用户,则需要一定的时间,用户体验不好。

异步

而如果引入MQ,把关键步骤,照旧同步处理完毕,直接返回给用结果,非关键步骤,我们通过MQ,让系统背后慢慢消费,慢慢处理。

这样用户体验好,数据也最终一致性。

流量肖峰

有一个应用的接口,调用方特别多,如果每当来一个请求,服务器就进行处理,当瞬间来批量的请求,容易一下子把机器打死。

肖峰

而使用了MQ,多了一个消息队列,相当于多了一个缓存区。每增加一个请求,服务器可能不会立刻响应,而是先放到消息队列里边。服务器可以依次进行,在自己的性能范围内,不断地消费消息,处理请求。

系统解耦

互联网公司里边,每个部门,各负责各自系统,如果彼此的联系,仅仅通过rpc的接口调用,如此一来,双方的每次系统迭代更新,都要对彼此提供的client做一定的考量,增加一个字段、修改一个字段、增加一个参数、减少一个参数、修改个参数名,都要及时通知对方,很不方便。

而彼此之间增加MQ之后,虽然也是要留意下消息体字段,但是就没有那么苛刻,系统双方,显得灵活些。

推荐阅读