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