1、什么是RabbitMQ?
RabbitMQ:消息中间件
MQ:全称为Message Queue,即消息队列。“消息队列”是在消息的传输过程中保存消息的容器。
它是典型的:生产者、消费者模型。生产者不断向消息队列中生产消息,消费者不断的从队列中获取消息。因为消息的生产和消费都是异步的,而且只关心消息的发送和接收,没有业务逻辑的侵入,这样就实现了生产者和消费者的解耦。()
2、MQ的优缺点!
优点:
(1)应用解耦:提高系统的容错性和可维护性(MQ相当于一个中介,生产方通过MQ与消费方交互,它将应用程序进行解耦合)
(2)异步提速:提高用户体验和系统吞吐量(原本需要等待其他系统完成消息用户才能继续操作,而现在用户只需要将消息放入MQ中,不需要等待。)
(3)削峰填谷:提高系统的稳定性(高并发情况下,将大量消息分多次处理,例如秒杀活动中使用)
缺点:
(1)系统可用性降低:系统引入的外部依赖越多,系统稳定性越差。一旦 MQ 宕机,就会对业务造成影响。如何保证MQ的高可用?
(2)系统复杂度提高:MQ 的加入大大增加了系统的复杂度,以前系统间是同步的远程调用,现在是通过 MQ 进行异步调用。如