配置个 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类型的 ### 连接池 ***** 防止客户端对后端服务并发量太高,我们也提供了连接池,连接池技术也基于我们的默认的连接池技术