PHP创建简单RPC服务
2021/4/29 20:25:27
本文主要是介绍PHP创建简单RPC服务,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
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创建简单RPC服务的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-12-19php8的协程和hyperf的协程有什么区别?-icode9专业技术文章分享
- 2024-12-19php8 的fiber是什么?-icode9专业技术文章分享
- 2024-12-05怎么在php8,1 里面开启 debug?-icode9专业技术文章分享
- 2024-12-05怎么在php8,1 里面开启 debug?-icode9专业技术文章分享
- 2024-11-29使用PHP 将ETH账户的资产汇集到一个账户
- 2024-11-23怎么实现安卓+php 热更新方案?-icode9专业技术文章分享
- 2024-11-22PHP 中怎么实现判断多个值是否为空、null 或者为 false?-icode9专业技术文章分享
- 2024-11-11开源 PHP 商城项目 CRMEB 二次开发和部署教程
- 2024-11-09怎么使用php在kaufland平台刊登商品?-icode9专业技术文章分享
- 2024-11-05PHP的抽象类和接口是什么,有什么区别-icode9专业技术文章分享