如何进行Yar并行的RPC框架使用分析
发表于:2024-11-27 作者:千家信息网编辑
千家信息网最后更新 2024年11月27日,今天就跟大家聊聊有关如何进行Yar并行的RPC框架使用分析,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。前言:RPC,就是Remote Pro
千家信息网最后更新 2024年11月27日如何进行Yar并行的RPC框架使用分析
今天就跟大家聊聊有关如何进行Yar并行的RPC框架使用分析,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。
前言:
RPC,就是Remote Procedure Call的简称呀,翻译成中文就是远程过程调用
RPC要解决的两个问题:
解决分布式系统中,服务之间的调用问题。
远程调用时,要能够像本地调用一样方便,让调用者感知不到远程调用的逻辑
如果模仿B/S架构的调用方式,每次调用时,都需要写一串发起http请求的代码。比如new Curl()...之类的,能不能像本地调用一样,去发起远程调用,让使用者感知不到远程调用的过程。
实际情况下,RPC很少用到http协议来进行数据传输,毕竟我只是想传输一下数据而已,何必动用到一个文本传输的应用层协议。 为什么不直接使用二进制传输。
安装:
$ pecl install yar$ pecl install msgpack
服务端代码:
sms = new Sms(); $this->email = new Email(); } /** * @param $mobile * @return string */ public function sendSms($mobile, $content = '短信内容') { return $this->sms->send($mobile, $content); } /** * @param $email * @return string */ public function sendEmail($email) { return $this->email->send($email); }}$service = new Yar_Server(new Service());$service->handle();
客户端代码:
SetOpt(YAR_OPT_CONNECT_TIMEOUT, 1000);//$result = $client->sendSms('18234065200', '我是短信内容');//echo $result;// 二、并行调用// public static call ( string $uri , string $method [, array $parameters [, callable $callback [, callable $error_callback [, array $options ]]]] )// callback 回掉函数, 在远程服务的返回到达的时候被Yar调用, 从而可以处理返回内容 如果没有设置则调用loop中的callback// error_callback// $optionsYar_Concurrent_Client::call("http://192.168.2.138/api/", "sendSms", ['18234065200', '欢迎注册']);Yar_Concurrent_Client::call("http://192.168.2.138/api/", "sendEmail", ['12580@qq.com'], "callback", "callError", [YAR_OPT_TIMEOUT => 10]);// 发送请求// public static loop ([ callable $callback [, callable $error_callback ]] )Yar_Concurrent_Client::loop("loopCallback", "loopError");function callback($retval, $callinfo){ echo 'call自己的回调:' . $callinfo['method'] . '方法返回数据' . $retval . PHP_EOL;}// 错误回掉函数, 如果设置了, Yar在发送出所有的请求之后立即调用一次这个回掉函数(此时还没有任何请求返回), 调用的时候$callinfo参数是NULLfunction loopCallback($retval, $callinfo){ if (is_null($callinfo)) { echo '所有rpc请求发送完毕调用' . PHP_EOL; } else { echo '调用成功后返回' . PHP_EOL; var_dump($retval); var_dump($callinfo); }}// 错误回调function callError(){ echo '发送rpc出错' . PHP_EOL;}// 错误回掉函数, 如果设置了, 那么Yar在出错的时候会调用这个回掉函数function loopError(){ echo '发送rpc出错' . PHP_EOL;}
看完上述内容,你们对如何进行Yar并行的RPC框架使用分析有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注行业资讯频道,感谢大家的支持。
内容
函数
传输
代码
数据
时候
错误
服务
框架
分析
就是
短信
过程
问题
成功
两个
之间
二进制
使用者
分布式
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
数据库mysql刷题网站
小象互联网科技有限公司
长宁区网络技术服务销售方法
集群是多台服务器吗
英国服务器有什么用
滴滴需要多少台服务器
网络安全知识班会总结报告
软件开发设计 法律法规
网站设计和网络安全的区别
软件开发都有哪些职位
css3服务器字体显示
长沙手机网络安全
上海网络时钟同步服务器配置
梦幻西游纵横天下服务器开服时间
香港g口云服务器
数据库 背景
redhat 基本服务器
电子商务平台软件开发
中国移动的数据库服务商
网络安全法律热点
通信网络安全防护管理制度
数据库查到的时间是毫秒
用友财务软件数据库地址
安徽百顺网络技术有限公司
css3服务器字体显示
市场营销和计算机网络技术薪资
上海流程管理软件开发
服务器里怎么给别人永久管理
高科技的互联网公司
上海众人网络技术有限公司