文章目录
01 为什么要使用消息中间件
在没有使用消息中间件之前,许多传统的系统业务对于消息的处理一般会采用串行方式或者并行方法;
例如,你去网站注册一个账号,网站服务器对我们的注册操作进行处理,下面是串行跟并行的处理方式。
- 串行方式:
用户注册发放优惠券:用户注册,发放优惠券,将注册信息记录到数据库后,发送注册消息邮件,再发送注册短信验证,每个过程消耗50毫秒,一共就需要200毫秒 - 并行方式:
并行方式与串行方式不同的就是,用户注册存储数据后只需要往MQ投递消息即可,后续的发送邮件、优惠券发放等可以同时完成,只需要100ms即响应,而不是根据上一个动作完成后再完成下一个动作,大大缩短了用户的等待时间,如下图:
到这里大家明白,什么是MQ消息中间件,全称MessageQueue,主要是用于程序和程序直接通信,异步+解耦
使用场景
1)解耦:订单系统-》物流系统
2)异步:用户注册-》发送邮件,初始化信息
3)削峰:秒杀、日志处理
4)还有跨平台 、多语言、分布式事务、最终一致性、RPC调用上下游对接,数据源变动->通知下游服务。