我们有一个在负载均衡器下运行的Web应用程序。两个用户正在尝试执行相同的操作,例如两个用户同时提出相同的订单,这会创建重复的订单。
在一个事务提交之前,另一个请求正在检查是否有任何订单。它正在创建重复的条目。请求正在尝试同时处理。
我们尝试了以下选项,
OPTIMISTIC_FORCE_INCREMENT
但没有一个选项有帮助。
请建议如何继续。
由于
答案 0 :(得分:0)
设置一个包含下一个订单号的单独数据库表。
将订单的创建拆分为两个单独的数据库事务。
第一个读取并更新订单号。
第二个存储订单信息。
处理订单时,如果第一笔交易失败,应在继续第二笔交易之前重试。