【发布时间】:2015-10-16 22:38:04
【问题描述】:
我正在开发 Restful 服务,我们将在其中将新记录插入/更新到数据库中。
由于 REST 使用 HTTP 进行通信,并且 HTTP 不可靠,我担心如果连接失败,请求可能无法发送到服务器。
我在link 中找到的建议之一是“如果连接失败,请从客户端重试。”但我们无法控制客户端应用程序。
其他解决方案是实施 RabbitMQ/JMS 等消息系统以确保可靠性。
我还在以下link 中发现添加会话状态可以提高可靠性。我无法理解这是怎么发生的,更重要的是,一个好的宁静服务不是总是无状态的吗?
所以总结一下我的问题:
- 要实现可靠性,消息传递系统是最好的方法吗?
- 会话管理如何帮助我实现可靠性?
【问题讨论】:
-
如果您对客户端没有任何控制权,那么您无能为力。在服务器端,您应该尝试使用正确的状态码 (see this link),以便客户端可以检测请求是否给出了预期的结果,但即使这样也需要客户端记下返回的状态码并在正确的方式。
-
@Jasper 感谢您的回复。现在需要提出新的设计并让客户端应用程序来处理请求。 :)
标签: java rest session-state