- Rpc客户端
- 客户端类型
- 连接池
Rpc客户端
配置个 Rpc客户端也简单
'rpc'=>[//提供方名称'cloud'=>['register'=>\app\rpc\RPcTestRegister::class, //rpc 注册器'host' => 'host', //对方 host'client'=>'http2',//提供两种方案 http2 和 http swoole 模式下默认是 http2'port'=>80, //端口'token' => '123', //密钥'timeout'=>5, //超时'fuse_time'=>30,//熔断器熔断后多久进入半开状态'fuse_fail_count'=>20,//连续失败多少次开启熔断'pool'=>['min'=>1, //连接池'max'=>10,'check'=>30,'idle'=>30],]]
项目需要依赖 Rpc 提供方提供的 接口包使用远程服务就这么简单
$service=Ioc::get(ITestService::class);$service->test('a','b');
服务降级
如果提供方提供的服务降级,不符合你真实的项目需求(正常他们只会写测试的,能用的还真不多),你可能需要自己实现服务降级很简单在 Ioc 里注册下写个降级服务 然后注册下
Ioc::bind(ITestService::class,MyServiceDegrade::class);
客户端类型
我们提供了两种方案 长连接 的 http2和短链接的 http,建议正式项目跑 http2类型的
连接池
防止客户端对后端服务并发量太高,我们也提供了连接池,连接池技术也基于我们的默认的连接池技术
上一篇:Rpc服务提供方 下一篇:熔断器与服务降级
