06 消息中间件到底是什么?
【1】异步化提升性能
【2】降低系统耦合
【3】流量削峰
假设系统A是不操作数据库的,只要多部署几台机器,就可以抗下每秒1w的请求,比如部署20台机器,就可以轻松抗下每秒上万的请求。然后系统B是操作一台数据库服务器的,数据库的上限是每秒6K请求。系统B无论部署多少台都没有什么用。
系统A把每秒1w请求都作为消息直接发送到MQ里面,MQ可以轻松抗下来1w请求。系统B只要慢慢的从MQ里面获取消息然后写入数据库,保证对数据库的QPS不要超过他的极限值6000。因为系统A发送消息到MQ很快,系统B从MQ消费消息很慢,MQ会积压一些消息。MQ都是基于磁盘来存储消息的,适当积压一些消息是可以的。
系统A发送过来的每秒1万请求是一个流量洪峰,然后MQ直接给扛下来了,都存储自己本地磁盘,这个过程就是流量肖峰的过程,瞬间把一个洪峰给扛下来了,让系统B后续慢慢获取消息来处理。
上一篇
下一篇