返回HTTP 503以响应数据库死锁是否合适?

Gil*_*ili 5 rest database-deadlocks http-status-code-503

503 ("Service Unavailable")当请求的操作导致数据库死锁时,服务器返回是否合适?

这是我的理由:

  • 最初,我尝试避免数据库死锁,但遇到了/sf/answers/7857951/
  • 接下来,我尝试在服务器端重复请求,但是遇到了Java Servlet:如何重复HTTP请求?。从技术上讲,我可以缓冲请求实体,但是可伸缩性会受到影响,并且503 Service Unavailable无论如何客户端都更有可能看到。

视为:

  • 要求客户重复操作更为容易。
  • 他们503 Service Unavailable无论如何都要能够处理。
  • 数据库死锁非常少见。

我倾向于这种解决方案。你怎么看?

更新:我认为503 ("Service Unavailable")如果您希望返回仍然可以接受,但是我不再认为这是技术要求。参见/sf/answers/1257203321/

小智 0

我认为只要回滚整个事务或者请求是幂等的就可以了。