什么是消息队列?
为什么要使用消息队列?
应用场景?
消息队列的两种模式是什么?
消息队列中间件是分布式系统中重要的组件。主要解决应用解耦,异步消息,流量削峰,消息通讯等问题,实现高性能,高可用,可伸缩和最终一致性架构。
为什么使用消息队列
由于在高并发环境下,由于来不及处理,往往会发生请求堵塞,比如,大量的insert,update语句到达MySQL,直接导致无数的行级锁表,甚至最后请求过多,导致too many connections错误,使用消息队列,可以异步处理,从而缓解系统压力。
消息队列的应用场景
1.异步消息
应用场景:用户注册完成后,发送注册邮件和注册短信
运用消息队列之后,用户注册完之后,注册信息写入数据库,再写入消息队列,发送邮件和发送短信各自去消息队列进行读取,节省时间,提高效率。
2.应用解耦
应用场景:用户下单后,订单系统需要通知库存系统修改库存
订单系统:用户下单后,将信息写入消息队列,返回用户下单成功。
库存系统:订阅下单的消息,从消息队列获取下单信息,进行库存修改。
这样,如果库存系统不能正常使用,也不影响用户下单,用户下单后,只用把下单信息写入消息队列,不用关心后