PHP创建简单RPC服务
2023-09-11 14:14:55 时间
RPC 定义
RPC(Remote Procedure Call)即远程过程调用,指被调用方法的具体实现不在程序运行本地,而是在别的某个地方。主要应用于不同的系统之间的远程通信和相互调用。
如 A 调用 B 提供的 remoteAdd 方法:
- 1、首先A与B之间建立一个TCP连接
- 2、然后A把需要调用的方法名(这里是remoteAdd)以及方法参数(10, 20)序列化成字节流发送出去;
- 3、B接受A发送过来的字节流,然后反序列化得到目标方法名,方法参数,接着执行相应的方法调用(可能是localAdd)并把结果30返回;
- 4、A接受远程调用结果
有些远程调用选择比较底层的 socket 协议,有些远程调用选择比较上层的 HTTP 协议。
远程调用的好处:
解耦:
当方法提供者需要对方法内实现修改时,调用者完全感知不到,不用做任何变更;
这种方式在跨部门,跨公司合作的时候经常用到,并且方法的提供者我们通常称为:
服务的暴露方
这里使用 PHP Socket 来创建一个服务端和客户端,目录结构如下:
服务端
RpcServer.php
相关文章
- 统计php程序运行时间及设置PHP最长运行时间
- PHP md5_file() 函数用于判断文件是否有修改
- PHP中的服务容器与依赖注入的思想
- PHP 中 ini_set() 修改 php 内存限制及检查内存限制方法
- php 数组时间排序 array_multisort
- PHP延迟静态绑定
- PHP Static 单例模式
- php 1,1,2,3,5,8,13,21,34...求第30位的数是多少?
- PHP 跟据用户IP获取所在国家高效解决方案(GEOIP)
- PHP代码审计----2、文件包含
- php的类型运算符instanceof(用于确定一个 PHP 变量是否属于某一类 class 的实例)
- PHP--关于模板的原理和解析(php模板原理)
- 高质量PHP代码的50个实用技巧必备(上)
- 五十个小技巧提高PHP执行效率(一)
- php面试题之三——PHP语言基础(基础部分)
- LNMP之PHP服务的安装(FastCGI方式)
- linux下无法执行PHP命令,错误 php: command not found
- PHP调试函数
- PHP登入网站抓取并且抓取数据
- PHP WordPress源码解析
- PHP PHPStorm 解决运行报错 502 Bad Gateway,配置PHP Interpreter,配置php.exe