Concurrency 应为并发异常

Concurrency 应为并发异常,concurrency,optimistic-concurrency,Concurrency,Optimistic Concurrency,期望总是有并发异常而只是不断重试,这是一种不好的做法吗?我不是说在两个用户可能同时编辑数据的罕见情况下,我的意思是在保证随时都会发生的情况下。比如说 联赛是一个总根,它有联赛。当一场比赛结束时,将为该场比赛举办一项赛事,联盟将更新其排名。大多数比赛都是在同一时间进行的,所以想象一下,4场比赛同时进行,导致4个事件同时进行“MatchPlayedEvent”然后,我们会在同一时间为同一联赛调用以下处理程序4次 更新AgueStandings 更新AgueStandings 更新AgueStand

期望总是有并发异常而只是不断重试,这是一种不好的做法吗?我不是说在两个用户可能同时编辑数据的罕见情况下,我的意思是在保证随时都会发生的情况下。比如说

联赛是一个总根,它有联赛。当一场比赛结束时,将为该场比赛举办一项赛事,联盟将更新其排名。大多数比赛都是在同一时间进行的,所以想象一下,4场比赛同时进行,导致4个事件同时进行“MatchPlayedEvent”然后,我们会在同一时间为同一联赛调用以下处理程序4次

  • 更新AgueStandings
  • 更新AgueStandings
  • 更新AgueStandings
  • 更新AgueStandings
这总是引发并发异常,然后将重试


同样,如果我们遇到并发异常,总是这样,接受它并继续重试是否不好?

总是不好,设计良好的系统不应该引发并发异常。使用事务。它位于事务中。我在4个不同的事务中同时编辑数据使用真实的、可序列化的事务和非乐观并发。这只是悲观并发吗?是的,这是悲观并发