首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >响应数据库死锁返回HTTP 503合适吗?

响应数据库死锁返回HTTP 503合适吗?
EN

Stack Overflow用户
提问于 2013-05-18 20:37:08
回答 3查看 1.5K关注 0票数 6

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

以下是我的推理:

视为:

  • 更容易让客户重复操作。
  • 无论如何,他们需要能够处理503 Service Unavailable
  • 数据库死锁相当罕见。

我倾向于这个解决方案。你认为如何?

UPDATE:如果您愿意,我认为返回503 ("Service Unavailable")仍然是可以接受的,但我认为它在技术上不再是必需的。见https://stackoverflow.com/a/17960047/14731

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2013-05-18 21:00:26

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

票数 0
EN

Stack Overflow用户

发布于 2017-07-06 10:42:40

我认为语义409冲突是一个更好的选择--基本上,如果您有一个死锁,就会有一些资源争用,因此操作无法完成。

现在,根据死锁的原因,如果第二次提交请求,请求可能不会成功,但对于任何情况都是如此。

对于503,作为一个客户端,我会实现某种后退/断路器操作,因为系统的速率是有限的,而409涉及到特定的请求。

票数 2
EN

Stack Overflow用户

发布于 2021-02-18 15:30:26

我只是带着同样的问题来到这里,在这个问题上没有明确的答案。

  • A 503是可以接受的,但可能无法正确解释。
  • 409也可以,但在我的例子中不是OK (因为多个资源最终可能返回同一个URL的这个错误)

在我的例子中,我最终在同一个URL上返回了307重定向。

客户端将自动“重试”,而第二次调用可以工作,因为资源在最初创建时只会引发死锁。

请注意,可能会以无限循环结束。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16628713

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档