采纳答案成功!
向帮助你的同学说点啥吧!感谢那些助人为乐的人
老师,从mq中取数据的时候,如果因为网络问题,同一个数据接收了两次这个是有可能的吧,对于判断重复问题,虽然我知道要加唯一值来处理,但是具体的判断重复实现,老师能讲一下吗
消息出队以后的处理必须要做幂等处理,防止消息重复消费。比如:收到退款的消息给用户退款,那么在执行退款的操作之前首先要判断订单的状态是不是已经退款了,如果已经退了就不需要再退一次。程序需要保证,同一笔订单无论执行多少次退款的操作,只有一笔能退成功,这就是所谓的幂等性。
老师,那我是否可以通过在redis中添加唯一值,mq的消息根据redis值处理,来保证幂等性呢?
当然可以 同时你要考虑如果消息出队 但是操作失败的时候要把Redis的标志清空
老师,往mq发信息的时候的幂等性,是由mq自己控制的吗?
登录后可查看更多问答,登录/注册
各种缓存/JSR303参数检
1.4k 17
1.1k 17
1.2k 16
1.1k 13