spring - Spring HTTP 客户端超时 - Web 服务调用 - 响应错误
问题描述
我有一个未知的应用程序正在使用我的 Spring Web 服务。
该应用程序为每个 Web 服务调用设置了超时。
无论应用程序超时如何,服务器都会继续处理。
收到错误响应(对超时的 Web 服务调用的响应)是否存在任何其他 Web 服务调用的风险?Spring如何管理这个?鉴于每个连接通道都为对 web 服务的特定调用打开,并且如果损坏,应该无法检索响应,HTTP 协议是否会处理这个问题?
解决方案
作为开发人员,您应该尝试使对 Web 服务器的所有可能的 HTTP 请求都是幂等的。这意味着客户端必须能够重试失败的请求而不会出现新的可能错误,因为无法知道之前的(超时)请求结果。
客户端应自行处理 HTTP 客户端超时,并且(默认情况下)应将超时错误视为失败。您的客户端可能稍后会重复该请求,并且服务器端应该能够处理相同的请求。
不同任务的解决方案可能会有所不同,具体取决于复杂性(从 INSERT 语句到数据库或安排新的 CRON 作业以避免重复)。
推荐阅读
- javascript - 初学者寻求有关如何处理新节点/Webpack 项目的建议
- java - Java SQL 语句找不到符号
- javascript - NodeJs 中间件挂起
- azure - 我们可以在 ARM 部署脚本中使用 az rest 吗?
- python - 如何在 django 重新启动之前运行代码?
- javascript - Mocha 测试 - 无法通过使用 async/await 拒绝承诺的测试
- python - 如何在 Python 中获取“二进制”数组的 sha256
- mysql - phpMyAdmin 未显示在 MySQL 上创建的数据库(通过工作台)
- c++ - epoll 可以识别边缘触发上“上升”和“下降”之间的区别吗?
- python - 我正在尝试将两个值之一与一个元素匹配