调用接口发生异常并且重复尝试时,总是会造成系统所无法承受的损失,所以必须阻止这种现象的发生。...网络波动, 可能会引起重复请求
用户重复操作,用户在操作时候可能会无意触发多次下单交易,甚至没有响应而有意触发多次交易应用
使用了失效或超时重试机制(Nginx重试、RPC重试或业务层重试等)
页面重复刷新...使用浏览器后退按钮重复之前的操作,导致重复提交表单
使用浏览器历史记录重复提交表单
浏览器重复的HTTP请求
定时任务重复执行
用户双击提交按钮
如何保证接口幂等性?...使用Post/Redirect/Get模式
在提交后执行页面重定向,这就是所谓的Post-Redirect—Get(PRG)模式,简单来说就是当用户提交连表单后,跳转到一个重定向的信息页面,这样就避免用户按...F5刷新导致的重复提交,而且也不会出现浏览器表单重复提交的警告,也能消除按浏览器前进和后退导致同样重复提交的问题。