如何进行Yar并行的RPC框架使用分析
发表于:2025-12-02 作者:千家信息网编辑
千家信息网最后更新 2025年12月02日,今天就跟大家聊聊有关如何进行Yar并行的RPC框架使用分析,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。前言:RPC,就是Remote Pro
千家信息网最后更新 2025年12月02日如何进行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安全错误
数据库的锁怎样保障安全
sql数据库桌面版
网络安全安全测评
计算机的硬件及软件开发
apnetwork加速器服务器代码
文件存储用什么数据库
达梦数据库创建的表如何添加数据
昆明分布式服务器方案
平谷区通用网络技术质量推荐
数据库查询出来少个0
北京易美睿迅软件开发有限公司
机架式服务器维修电话
sql数据库建设教程
广州华夏网络技术有限公司
核算序列比对数据库
消费返利盘软件开发
数据库快照恢复
移动手机号数据库
网络安全十个小技巧
力控数据库视频
数据库怎么插入计算控件
我的世界膜拜火影服务器
我国网络安全现状与存在问题
网络技术范畴
山东电信服务器租用云服务器
数据库语句是不是要大写
数据库应用考证有用吗
数据库表结构是数据字典吗
计算机网络技术实验周报全套
公安机关dna数据库自动比对
什么叫网络安全赛事