如何进行Yar并行的RPC框架使用分析
发表于:2025-01-31 作者:千家信息网编辑
千家信息网最后更新 2025年01月31日,今天就跟大家聊聊有关如何进行Yar并行的RPC框架使用分析,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。前言:RPC,就是Remote Pro
千家信息网最后更新 2025年01月31日如何进行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安全错误
数据库的锁怎样保障安全
长宁区营销软件开发诚信合作
平阳县君磊软件开发工作室
长宁区网络软件开发协议
科技馆计算机与互联网学习区
宝塔怎么看云服务器ip地址
金融学和软件开发
苹果签名软件开发
服务器进安全模式进不去
中职语文教学和网络安全
中山富创网络技术有限公司
工商银行软件开发二级经理
怎样接到软件开发的活
网络安全教育主题党日
数据库课程设计 银行系统
网络安全动画视频幼儿园
服务器机房搬迁方案
软件开发中的编程模型
在网页上修改数据库
相对贫困数据库
手机厂商和软件开发商
什么是软件开发套件
西安学网络技术比较好的职高
菲律宾服务器内容
苹果签名软件开发
衢州网络安全准入控制系统公司
手机服务器地址
中山富创网络技术有限公司
软件开发项目完成
软件开发 洗卡
苏州网络安全知识大赛