时间:2024-09-27 12:01:57
什么是消息队列?消息队列有哪些应用场景?
消息队列: 是分布式系统中重要的组件,主要解决应⽤耦合,异步消息,流量削锋等问题。 实现⾼性能、⾼可⽤、可伸缩和最终⼀致性架构。 使⽤较多的消息队列有 ActiveMQ、RabbitMQ、ZeroMQ、Kafka、MetaMQ、RocketMQ。
1. 异步处理。可以将对实时性要求不⾼的场景进⾏异步处理,如⽤户注册后发送注册短信和注册邮件。 传统串⾏⽅式,将注册信息写⼊数据库成功后,发送注册邮件,再发送注册短信。以上三个任务全部完成后,再返回给客户。 并⾏⽅式,将注册信息写⼊数据库成功后,发送注册邮件和发送注册短信同时进⾏,三个任务完成后,返回给客户端。可以提⾼处理时间。 假如三个业务节点每个使⽤ 50 毫秒,不考虑⽹络等其他开销,则串⾏⽅式的时间为150毫秒,并⾏的时间可能是 100 毫秒。
2. 应用解耦。⽤户下单后,订单系统需要通知库存系统。传统⽅法是:订单系统调⽤库存系统的接⼝。 假如库存系统没有办法完成访问,则整个操作⽆法完成。但是如果将消息写⼊消息队列,⽤户 下单后,订单系统持续化处理,将返回⽤户订单下单成功,库存系统,将采⽤拉/推的⽅式, 获取下单信息,库存系统根据下单的信息,进⾏库存操作。如此设计后,订单系统与库存系统 将分离开来,订单系统写⼊消息队列,之后就不再关⼼其他后续操作,实现了解耦。
3. 流量削峰。在秒杀系统中使⽤⼴泛,⼀般因为流量过⼤,导致流量暴增,然后应⽤挂掉。解决⽅案为:在 前段加⼊消息队列,可以控制活动的⼈数,缓解短时间内⾼流量压垮应⽤。 ⽤户的请求,服务器接收后,⾸先写⼊消息队列,加⼊消息队列过⻓或者⻓度超过最⼤数量, 则直接抛弃⽤户请求或者跳转到错误⻚⾯。
《消息队列应用场景包括》不代表本网站观点,如有侵权请联系我们删除
精彩推荐
点击排行