一次curl超时引发的项目问题思考
2016-04-23 21:00
639 查看
最近项目中遇到了一次curl超时,导致了用户操作写入失败的问题
1、curl超时怎样去追踪哪一个步骤导致超时
php 超时原理:
一次请求调用某个api出现超时的时候我们如何判定是在哪一个步骤超时了?
1、网络原因,请求超时,服务端代码未执行,很容易判断,超时后,服务端无任何操作
2、服务端执行超时,服务端代码已执行,但并未执行完已经超出设定的超时时间
针对第二种情况,要首先分析出服务端代码已经执行到哪一个步骤了,接着看一下将要执行却未执行的步骤是什么,分析出是不是该步骤导致超时,是则针对该步骤进行优化,不是则向前分析,判断出之前执行过的哪个步骤比较耗时,导致后边超时。
2、一次操作多次调用某个异步服务的处理方式
当我们在一次操作中需要去多次调用一个TCP异步服务(有连接超时时间)的时候,如何尽可能地减少服务挂了对我们造成的影响
我的理解是将这多次调用封装到一个api接口中,然后去异步调用一次,这样即使异步服务挂了,也只会连接超时一次。
3、一个服务我们主观判定不好用之后第一反应难道应该是弃用?
最起码我不这么认为,我更倾向于去找出来是它真的不好用还是自己没有用好。
4、作为一个研发,我从来没想过推卸责任
当在一个团队中,出现了一些问题,解决方案都还没出来,却有人已经开始想着推卸责任的时候,那一刻
,我真的很想离开这个团队。但或许我们更应该想的是如果我是团队管理人员,如何解决这种问题?
1、curl超时怎样去追踪哪一个步骤导致超时
php 超时原理:
一次请求调用某个api出现超时的时候我们如何判定是在哪一个步骤超时了?
1、网络原因,请求超时,服务端代码未执行,很容易判断,超时后,服务端无任何操作
2、服务端执行超时,服务端代码已执行,但并未执行完已经超出设定的超时时间
针对第二种情况,要首先分析出服务端代码已经执行到哪一个步骤了,接着看一下将要执行却未执行的步骤是什么,分析出是不是该步骤导致超时,是则针对该步骤进行优化,不是则向前分析,判断出之前执行过的哪个步骤比较耗时,导致后边超时。
2、一次操作多次调用某个异步服务的处理方式
当我们在一次操作中需要去多次调用一个TCP异步服务(有连接超时时间)的时候,如何尽可能地减少服务挂了对我们造成的影响
我的理解是将这多次调用封装到一个api接口中,然后去异步调用一次,这样即使异步服务挂了,也只会连接超时一次。
3、一个服务我们主观判定不好用之后第一反应难道应该是弃用?
最起码我不这么认为,我更倾向于去找出来是它真的不好用还是自己没有用好。
4、作为一个研发,我从来没想过推卸责任
当在一个团队中,出现了一些问题,解决方案都还没出来,却有人已经开始想着推卸责任的时候,那一刻
,我真的很想离开这个团队。但或许我们更应该想的是如果我是团队管理人员,如何解决这种问题?
相关文章推荐
- while try catch
- C++中this指针的使用
- 栈和队列
- C++中this指针的使用
- CSS流布局权威指南
- 团队项目第一阶段冲刺站立会议05
- Jpcap简介(转)
- #leetcode# 344 Reverse String
- 线性表
- 并发编程
- POJ2704 DP + 记忆化搜索 + 注意中间存储数据用long long不然WA
- 团队项目第一阶段冲刺站立会议04
- 个人总结05
- qt中打开摄像头
- hdu 2099 整除的尾数
- C++异常处理第四篇 Loki::ScopeGuard
- C++线程池
- OpenCv学习笔记(一)--OpenCv所涉及的主要模块的简述
- 表单选择器
- 登录注册(一)