分布式并发重复提交问题

Web 系统的表单重复提交问题必然会出现,如注册、秒杀下单、支付等场景都可能出现重复提交。必须对重复提交进行处理,否则会出现脏数据,若建了唯一索引则会抛 JDBC 异常。单体应用的表单重复提交问题可参考 拦截器 与Spring AOP 实现防止表单重复提交

分布式集群部署的 Web 做防止表单重复提交的处理上,其根本也是基于 TOKEN 的方式来实现,因是集群布署,所以此 TOKEN 不能存放在 SESSION 中(未使用共享 SESSION 方案) ,而是存放在外部存储系统中,如 Reids,这里其实引入了类似分布式锁的概念。

阅读更多