刚刚做完一个网站项目,网站的显示数据是通过远程服务获取的,过程比较“曲折”,如下图所示。

项目使用spring mvc来开发,其中需要请求rest服务,使用spring提供的RestTemplate类可以很方便的实现rest请求发送和响应结果接收。中间系统属于老版本的系统,采用的是php开发的。在测试过程中,发现网站上的数据显示极其不稳定,时不时地提示远程数据获取失败。使用http监听工具进行了追踪,是中间系统向网站响应的结果是链接超时,导致了网站解析响应结果时没有获取到数据。将中间系统的超时阀值调大后,中间系统可以正确地响应数据,可是网站仍然无法解析数据,后来发现RestTemplate的ReadTimeout设置的值太低,导致未能接受数据。同时将RestTemplate的ReadTimeout的值调大后,一切运行正常。

这里记录、强调的重要一点使我们开发人员的主观意识错误,导致于排除错误时未能快速定位错误原因。为什么这么说呢?网站使用的是spring mvc,RestTemplate的ReadTimeout值设置的为5秒,开发人员个人觉着拿到数据为null的响应没有等到5秒啊,怎么会超时呢?同样,中间系统是php开发的,而php开发人员设置的超时时间为15秒,也是个人觉着15秒拿数据怎么也够了呀,怎么会超时呢?

让真实数据和实践来说话!http监听工具可以查看每次请求的timeline,两个系统的开发人员分别仔细观察了各自请求的时间,平均在19秒左右!

说到这里,其实最想说明是,不要被我们自己的主观意识蒙蔽了双眼。为什么会出现上述的现象?在项目开发后期,特别是时间吃紧的状况下,开发人员在调试诸多问题的过程中,很容易地就想当然了,忽略了解决问题的本质。只有通过对真实数据的分析及实践操作,才能准确快速地找到问题原因!

所以,在任何情况下,一定要养成冷静思考的好习惯,一定要充分利用调试工具的功能,千万不要自己觉着!

远程服务器调用超时什么意思,调用远程服务的超时现象相关推荐

  1. java让服务器停止运行,java调用远程服务器的shell脚本以及停止的方法实现

    最近接了个需求,要求远程调shell脚本,你没听错!!!需求就一句话,咱是谁,咱是优秀的开发选手.考虑再三,有两种实现方式: 方案一:脚本所在服务器安装一个客户端,也就是自己写的一个小程序,本地通过端 ...

  2. linux 循环执行ip停止服务,java调用远程服务器的shell脚本以及停止的方法实现

    最近接了个需求,要求远程调shell脚本,你没听错!!!需求就一句话,咱是谁,咱是优秀的开发选手.考虑再三,有两种实现方式: 方案一:脚本所在服务器安装一个客户端,也就是自己写的一个小程序,本地通过端 ...

  3. 在远程服务器上调用windows(例如office的word、ppt,Surfer绘图软件等)组件时,遇到问题,解决方法记录

    在远程服务器上调用windows的组件,遇到的问题,例如:office的word.ppt,Surfer绘图软件等组件的调用 使用ppt部署到服务器上,一直报错:检索 COM 类工厂中 CLSID 为 ...

  4. 手机调用远程服务器失败,如何 应付远程控制服务器失败

    2009-10-28 7:21:31   出处:https://www.yqdown.com 为了保卫 服务器系统的安全性,网络管理员往往会执行 不少安全配置 ,而其中一些配置 有时会在无意间影响远程 ...

  5. FreeSwitch之调用rtp和deavesdrop传输音频流给远程服务器

    监听录音后,发rtp给远程服务器 originate {local_addr=127.0.0.1,local_port=6666,remote_addr=127.0.0.1,remote_port=9 ...

  6. 远端服务器无响应请检查网络,连接远程服务器超时请检查网络连接

    连接远程服务器超时请检查网络连接 内容精选 换一换 如果获取到的异常堆栈出现"System.Net.WebException: 无法连接到远程服务器 --->System.Net.So ...

  7. linux服务器(无界面)调用pycharm界面

    linux服务器(无界面)调用pycharm界面 一:下载pycharm 这里直接复制下载好的文件 scp -r /home/peng/library/pycharm/pycharm-professi ...

  8. 如何调用华为云api_如何部署模型到ModelArts并远程调用 (五):如何调用在线API服务...

    如何调用在线API服务 首先需要将导入的模型部署成一个在线API服务,然后根据调用指南中的API信息和指导文档,使用HTTPS请求进行调用. 部署模型为在线服务 参考此文档.并且可以参考此案例中的模型 ...

  9. 调用dubbo接口返回timeout_dubbo之timeout超时分析

    背景 在使用dubbo时,通常会遇到timeout这个属性,timeout属性的作用是:给某个服务调用设置超时时间,如果服务在设置的时间内未返回结果,则会抛出调用超时异常:TimeoutExcepti ...

  10. linux启动本地远程服务,如何使用SSH在本地控制远程服务器执行命令

    通过SSH在本地控制远程服务器执行命令,如果每次都要登录到远程服务器真的好麻烦,起始通过SSH就可以远程执行 在本地使用 ssh $RemoteNode    可以在执行远程机器上的命令,例如 ssh ...

最新文章

  1. mysql 配置执行计划_MySQL深入学习(二)--配置、索引、执行计划
  2. FCKEditor 打开页面总是得到焦点问题处理 FCKConfig.StartupFocus=false;
  3. Ant Desing Pro2.0(一)项目初始化
  4. 利用ModelBinder防止XSS一次尝试
  5. 解决滑动UITableView自动显示delete按钮
  6. Retrofit的简单封装
  7. python计算最大公约数函数_python如何分享解两数的最大公约数 python代码 最大公约和最小公倍数数计算?...
  8. MATLAB实现图像滤波--高斯滤波
  9. xp系统usb android,xp系统usb网络共享怎么设置,xp系统usb手机网络共享设置方法
  10. 论文详读《基于改进 LeNet-5 模型的手写体中文识别》
  11. 上海行:陈正翔与 Mind+,最简易图形化编程工具
  12. TeamTalk 详细介绍
  13. MpAndroidChart饼图
  14. 简单高效记账本的具体操作方法
  15. scanf与getchar的区别
  16. 3.暴力破解凯撒密码
  17. hadoop(hdfs)常见面试题
  18. 一、大数据_课程导论(P2~P6)
  19. 数商云采购管理系统方案助力采购平台:缩短采购周期、降本增效
  20. c语言程序设计期末考试卷,C语言程序设计期末考试试卷

热门文章

  1. hibernate QBE例子
  2. 淘宝 美团 评论标签效果
  3. 搭建本地Spring Initializr服务(2020/4/17)
  4. 思科、华为交换机err-disable的相关排查解决
  5. 移动Web基础知识整理
  6. 百度地图使用的详细教程
  7. 信息安全的马其顿防线
  8. SUSCTF 2022圆满落幕,SU战队夺冠
  9. 交换机hybrid模式
  10. SMETA验厂辅导,用工场所须在审核前提供最新和精确的预审核和自我评估信息