gpt4 book ai didi

java - 安心 服务 可靠

转载 作者:行者123 更新时间:2023-11-30 08:02:43 31 4
gpt4 key购买 nike

我正在开发 Restful 服务,我们将在数据库中插入/更新新记录。

由于REST使用HTTP进行通信,而HTTP并不可靠,我担心如果连接失败,请求可能无法发送到服务器。

我在 link 中找到的建议之一是“如果连接失败,只需从客户端重试。”但我们对客户端应用程序没有任何控制权。

其他解决方案是实现 RabbitMQ/JMS 等消息传递系统以确保可靠性。

我还在下面发现了link添加 session 状态可以提高可靠性。我无法理解这是如何发生的,更重要的是,良好的休息服务不总是无状态的吗?

总结一下我的问题:

  1. 为了实现可靠性,消息传递系统是最好的方法吗?
  2. session 管理如何帮助我实现可靠性?

最佳答案

消息传递可以提供帮助,只要您在收到插入或更新信息的命令时不进行任何处理,因为您需要立即将命令放入队列中。此解决方案通常会增加相当多的复杂性,因为您需要在完成命令处理后异步通知客户端(它是成功还是失败?...或者我是否未能发送结果?)。

session 管理?为了可靠性?从来没有听说过 :)。 Restful 服务通常是无状态的......所以这里没有 session !

另一个选项(但取决于您的客户端如何与您集成)是允许您的客户端生成您要存储/更新的项目的 ID,在这种情况下,如果他们返回错误,但您有成功处理命令,客户端可以重试,并且会发生相同的更新。您可以将其与版本控制配对,以防止过时的更新迟到。

关于java - 安心 服务 可靠,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31641309/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com