面试题答案
一键面试应用场景一:异步处理
- 场景描述:在电商系统中,用户下单后,除了创建订单记录外,还可能需要进行库存扣减、积分增加、发送短信通知等后续操作。将这些操作异步化,能显著提高用户下单响应速度。
- 保障可靠性和稳定性方式:
- 消息持久化:RocketMQ将消息持久化到磁盘,即使Broker重启,消息也不会丢失,确保库存扣减、积分增加等操作对应的消息不会因为系统故障而遗漏。
- 高可用性:RocketMQ采用Master - Slave架构,Master负责处理读写操作,Slave实时从Master同步数据。当Master出现故障时,Slave能快速切换为Master继续提供服务,保证异步任务处理的连续性。
应用场景二:削峰填谷
- 场景描述:在秒杀活动期间,短时间内会有大量用户请求涌入系统。如果直接将这些请求打到后端数据库,可能导致数据库因压力过大而崩溃。通过RocketMQ进行削峰填谷,能使系统平稳处理请求。
- 保障可靠性和稳定性方式:
- 流量控制:RocketMQ提供了流控机制,可以限制消费者从Broker拉取消息的速率,避免后端系统因瞬间接收过多消息而不堪重负,保证系统在高流量下稳定运行。
- 消息重试:当消费者处理消息失败时,RocketMQ支持消息重试机制。可以设置重试次数和重试间隔,确保在一定条件下,消息能够被成功处理,不会因偶发的处理失败而丢失,提高系统的可靠性。