Workman-Thrift疑问解析

Posted 咚..咚

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Workman-Thrift疑问解析相关的知识,希望对你有一定的参考价值。

    Workman是纯纯的php实现的一套网络通信框架,Workman-Thrift则是以Workman为基础,为Thrift RPC实现网络通信。经过学习与测试,现把自己的疑问与验证记录下来:

 

问题一:用Trift-0.9.3的源码包中的php库替换Workman-Thrift的Thrift库之后,当Handler处理过程中遇到耗时的操作(可用sleep进行模拟),就会报出未被捕获的异常。但是,用Workman-Thrift自带的旧Thrift库就不会有这个问题 。

原因:因为旧库的网络发送/读取的超时时间被修改过,新库覆盖过之后,只要修改/Application/ThriftRpc/Lib/Thrift/Transport/TSocket.php文件第64和82行,分别将发送和读取时间改为3秒(按实际情况进行修改)即可。

 

问题二:当worker进程与请求数量一致时,即通信满载,之后发起请求的进程会发生什么情况?

实验结果:在worker进程服务完成之前,之后发起请求的进程会进行等待,直到有空闲的worker进程或者客户端请求超时。要注意:即使worker进程转为空闲状态,此时有很大的概率会服务超时。(即Handler在服务满载的情况下无法重入)

 

 

本文档会随着学习,不断完善。

以上是关于Workman-Thrift疑问解析的主要内容,如果未能解决你的问题,请参考以下文章

Workman websocket 握手连接

workman项目设置开机自启动

Windows下安装使用workman简单实例

Windows下安装使用workman简单实例

编译安装最新版PHP,支持apache24,支持workman

workman初次接触,可以正常运行在Windows站点下.