RabbitMQ简介
RabbitMQ是一个消息中间件
1.RabbitMQ解决了什么问题?
a.异步处理
b.应用解耦
c.流量削锋
d.日志处理
2.应用场景
a.异步处理
比如之前比较菜的时候,写注册都是串行写的,先发个邮箱,在手机号验证,效率确实不行。
RabbitMQ可以用于异步处理,可以将发送邮箱和验证手机号同时进行,到时候需要的时候去读RabbitMQ
b.应用解耦
之前两个项目关联比较紧密,如果A系统去访问B系统,比如提交一个订单,B系统突然挂菜了,A系统的请求发送了,B系统没有接到,就可能导致这个订单就出现了问题。
现在一般用于分布式系统,将A系统的请求存放RabbitMQ中,B系统突然挂菜了,等B系统重新启动后,在去访问RabbitMQ就ok了,这样将两个系统的应用耦合性分离了。
c.流量削峰
淘宝、天猫的秒杀活动,一般把所有用户的请求,存放到RabbitMQ中,在它里面去处理,将有用的返回出去。
d.日志处理
各种日志的处理
3.RabbitMQ常用
a.simple 简单队列
b.work queues 工作队列
c.publish/subscribe 发布订阅
d.routing 路由选择 通配符模式
e.Topics 主题
f.手动和自动确认消息
g.队列的持久化和非持久化