jsonRpc 疑问

chinablue

RpcClient 客户端中异步,同步的概念不是很理解

从代码上看,异步发送数据时 新创建了当前类,同步发送直接用当前类

是不是可以这样理解?
同步发送 用同一个socket 发送
异步发送 用不同socket 发送

2887 1 0
1个回答

walkor

RpcClient 里面的异步的意思是发送请求后不直接阻塞读取。等需要结果时在读取结果。

正常批量请求时过程类似这样
发起请求A,等待A的结果(耗时500毫秒)
发起请求B,等待B的结果(耗时500毫秒)
发起请求C,等待C的结果(耗时500毫秒)
三个请求串行,总耗时1500毫秒

RpcClient中异步批量请求流程类似这样
发起请求A,发起请求B,发起请求C
等待结果
得到结果A,得到结果B,得到结果C
三个请求并行在服务端处理,总耗时500毫秒

这样异步并行处理可以减少客户端等待时间,
例如用户主页需要拉取用户信息、好友信息、日志数据、其他数据,
这些数据如果按照传统php做法就是串行的去获取,耗时会很长。
如果像RpcClient那样异步批量处理,则会大大缩短页面响应时间。
说白了RpcClient的异步处理就是利用分布式并行处理的方式减少响应时间。

  • 暂无评论
年代过于久远,无法发表回答
🔝