503 ("Service Unavailable")
当请求的操作导致数据库死锁时,服务器是否适合返回?
这是我的推理:
- 最初我尝试避免数据库死锁,但我遇到了https://stackoverflow.com/a/112256/14731
- 接下来,我尝试在服务器端重复请求,但遇到了Java Servlet:如何重复 HTTP 请求?. 从技术上讲,我可以缓冲请求实体,但可伸缩性会受到影响,而且客户更有可能看到
503 Service Unavailable
。
视为:
- 要求客户重复操作更容易。
503 Service Unavailable
无论如何,他们需要能够处理。- 数据库死锁相当罕见。
我倾向于这个解决方案。你怎么看?
更新:如果您愿意,我认为返回503 ("Service Unavailable")
仍然是可以接受的,但我不再认为这在技术上是必需的。请参阅https://stackoverflow.com/a/17960047/14731。