1、为什么要用RabbitMQ
流量消峰:比如双十一买鞋子,有十万个用户下单,订单系统最多可处理一万个请求,十万个请求过来会吧订单服务冲垮,造成服务器宕机,使用RabbitMQ的消峰后,所有请求会先进入RabbitMQ的队列中进行排队,虽然会变慢,但是可避免宕机问题。
应用解耦:比如订单系统下一个订单后,去调用支付、减库存等,但凡有一个环节的系统异常之后,订单系统也会异常,使用RabbitMQ后可以实现订单系统下一个订单后,由队列监督其他系统去完成自己对应的任务,哪怕异常后,也不会影响订单系统
异步处理:比如传统的一个A通知B后,将等待B完成后再继续执行后续任务,使用RabbitMQ可以异步处理,A通知B后,A可以不用等待,继续执行其他任务,等B完成任务后,通知到RabbitMQ,MQ处理消息即可
2、RabbitMQ四大核心概念
生产者:负责产生消息的
交换机:他负责将消息推送到队列,也可以决定接受那种消息,那些消息可以被丢失
队列:相当于一个容器,消息在这里进行排队,等待被消费者消费
消费者:负责消费队列中的消息