RpcClient 客户端中异步,同步的概念不是很理解
从代码上看,异步发送数据时 新创建了当前类,同步发送直接用当前类
是不是可以这样理解? 同步发送 用同一个socket 发送 异步发送 用不同socket 发送
RpcClient 里面的异步的意思是发送请求后不直接阻塞读取。等需要结果时在读取结果。
正常批量请求时过程类似这样 发起请求A,等待A的结果(耗时500毫秒) 发起请求B,等待B的结果(耗时500毫秒) 发起请求C,等待C的结果(耗时500毫秒) 三个请求串行,总耗时1500毫秒
RpcClient中异步批量请求流程类似这样 发起请求A,发起请求B,发起请求C 等待结果 得到结果A,得到结果B,得到结果C 三个请求并行在服务端处理,总耗时500毫秒
这样异步并行处理可以减少客户端等待时间, 例如用户主页需要拉取用户信息、好友信息、日志数据、其他数据, 这些数据如果按照传统php做法就是串行的去获取,耗时会很长。 如果像RpcClient那样异步批量处理,则会大大缩短页面响应时间。 说白了RpcClient的异步处理就是利用分布式并行处理的方式减少响应时间。
RpcClient 里面的异步的意思是发送请求后不直接阻塞读取。等需要结果时在读取结果。
正常批量请求时过程类似这样
发起请求A,等待A的结果(耗时500毫秒)
发起请求B,等待B的结果(耗时500毫秒)
发起请求C,等待C的结果(耗时500毫秒)
三个请求串行,总耗时1500毫秒
RpcClient中异步批量请求流程类似这样
发起请求A,发起请求B,发起请求C
等待结果
得到结果A,得到结果B,得到结果C
三个请求并行在服务端处理,总耗时500毫秒
这样异步并行处理可以减少客户端等待时间,
例如用户主页需要拉取用户信息、好友信息、日志数据、其他数据,
这些数据如果按照传统php做法就是串行的去获取,耗时会很长。
如果像RpcClient那样异步批量处理,则会大大缩短页面响应时间。
说白了RpcClient的异步处理就是利用分布式并行处理的方式减少响应时间。