mq使用中会遇到的问题
😨生产环境出现大量信息堆积,OMG,怎么办?
引起该问题的原因,可能是消费者不可用,导致消息大量积压问题
解决方案:生产环境问题,每一秒都会影响到业务(money),需要快速做出反应
1.临时丢弃,后期批量补偿
2.切到新队列处理,提高并行处理能力
消费者重启,总是消费到重复信息,咋办?
消息重发
重启后,会消费到部分处理过的消息问题
解决方案:
1.业务做幂等机制
消息丢了???
生产者
生产者提交消息后
解决方案:
1.提交消息后,保证提交成功
mq导致消息没有持久化
mq没有设置持久化
解决方案:
消费者不正常消费
消费者自动提交,问正常处理完消息
解决方案:
关闭自动提交
如何保证消息按照顺序进行处理?
并行处理,导致数据处理无序
解决方案:
1.拆分大队列或者增加分区,保证同一key数据落到同一队列中,队列中数据被一个消费者处理
2.单个消费者多线程消费时,增加一内存队列,进行多线程处理