For investors
股价:
5.36 美元 %For investors
股价:
5.36 美元 %认真做教育 专心促就业
本文武汉达内IT培训给大家介绍一下什么是幂等性?一次接口调用和多次接口调用都能得到与预期相符的结果。
怎么解决?
传统方法:代码增加前置判断,但是这样工作量太大了。
我们需要一种无侵入的幂等解决方案。
构建幂等表示通用的解决方案
幂等表设计
每次在请求头部放一个RequestId(保证唯一的),通过网关检查RequestId,幂等表放在Redis里,key是系
统id-RequestId,value是RequestId的处理状态,OK代表处理完成,PROC代表正在处理,然后还会设置过期
时间。如果幂等表里没有这个RequestId,就会把它保存到幂等表里,并且设置状态为PROC,表示请求正在被
处理。后端处理完请求后,更新幂等表的value状态为OK,返回正确结果给前端。
如果消息重发了,网关检查RequestId是在幂等表里,它就不会放给后端服务,会返回前端一个重复请求的响
应。
注解实现
利用AOP的后置通知,更新Redis状态。
【免责声明】本文系本网编辑部分转载,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。如涉及作品内容、版权和其它问题,请在30日内与管理员联系,我们会予以更改或删除相关文章,以保证您的权益!更多内容请添加danei0707学习了解。欢迎关注“达内在线”参与分销,赚更多好礼。