【IT老齐046】RabbitMQ队列解决消息积压问题

【IT老齐046】RabbitMQ队列解决消息积压问题

场景

每天上午10点,全国2万多名客户经理集中录入上一日JK单据到BorrowSale系统,峰值能达到500单/s。但信审系统任务重,最多只支持到60单/s,每日会导致大量消息积压

1710730144579

解决方案

工作队列

RabbitMQ改为工作队列模式,将消息送给9个信审系统实例并行完成。但信审系统不愿配合,以预算不足为由拒绝

1710730116071

死信队列

  • 什么是死信?
    • 即过期或无法处理的消息。
  • 死信是怎么产生的?
    • 消费者拒绝接受,且没有重新入列的消息
    • 队列满了,无法入列的消息
    • 消息设置了TTL过期时间,超过有效时间后的消息
    • 队列设置了TTL过期时间,超过有效时间后的消息

依赖RabbitMQ的“死信队列”特性,将死信消息自动送达死信队列中,BS前台接收到死信消息,1小时后重新发送,等待闲时由信审系统进行处理。
这样便实现了在不增加资源的前提下,对信审系统资源,进行“削峰填谷”

1710730320536

posted @ 2024-03-18 14:32  Faetbwac  阅读(12)  评论(0编辑  收藏  举报