面试题答案
一键面试- 应用场景一:异步处理
- 原理:在业务流程中,有些操作耗时较长但对主业务流程并非关键路径。将这些操作封装成消息发送到消息队列,主业务流程发送消息后即可继续执行,无需等待这些操作完成。消息队列异步处理这些消息,比如订单系统下单后,发送消息给消息队列,由消息队列异步处理积分增加、优惠券发放等操作,提高系统整体响应速度。
- 应用场景二:流量削峰
- 原理:在高并发场景下,如电商大促时,瞬间大量请求涌入。消息队列可以接收这些请求形成消息队列,系统按照自身处理能力从队列中拉取消息进行处理,避免系统因瞬间高流量而崩溃。例如大量用户同时抢购商品,请求先进入消息队列,再由系统逐步处理,防止数据库等后端资源因过载而瘫痪。
- 应用场景三:系统解耦
- 原理:不同微服务之间通过消息队列进行通信,而非直接调用。这样各微服务的耦合度降低,当某个微服务发生变化(如升级、重构)时,只要消息格式不变,其他微服务不受影响。例如商品微服务更新商品信息后,发送消息到消息队列,库存微服务、搜索微服务通过监听消息队列获取商品信息更新,各微服务独立演进。