- Rpc服务提供方
- Rpc 接口包
- 接口
- 降级服务
- Rpc注册器
- 下面在自己项目里写接口实现
- Rpc 接口包
Rpc服务提供方
让你的程序提供 Rpc能力很简单配置
'rpc_service'=>['token'=>'密钥',]
这样就可以了,
下面开始编程
Rpc 接口包
在自己项目外在开个项目(包), 这个包Rpc提供方的项目和 使用 Rpc 使用方的项目,都会依赖于这个包
包结构如下
接口
interface ITestService {public function test($name,$age);}
降级服务
class TestServiceDegrade implements ITestService {public function test($name, $age) {return '我是降级服务,当服务不可用时会调用我';}}
Rpc注册器
class TestRpcRegister implements RpcRegister {//返回 [接口1=>降级服务1,// 接口2=>降级服务2// ]//如果懒提供方不提供降级服务//返回 [接口1=>降级服务1,// 接口2, //服务2没有降级服务// 接口3=>降级服务3,// ]public function register() {return [ITestService::class=>TestServiceDegrade::class];}}
下面在自己项目里写接口实现
写实现
注意必须实现RPCable接口声明该类是对外提供的
class TestServiceImpl implements ITestService ,RPCable {public function test($name, $age) {return '我是提供方';}}
注入到 Ioc里
Ioc::bind(ITestService::class,TestServiceImpl::class);
上一篇:Rpc 远程调用 下一篇:Rpc客户端
