配置个 Rpc客户端也简单
```
'rpc'=>[
//提供方名称
'cloud'=>['register'=>\app\rpc\RPcTestRegister::class, //rpc 注册器
'host' => 'host', //对方 host
'client'=>'http2',//提供两种方案 http2 和 http swoole 模式下默认是 http2
'base_path' => '',//
'port'=>9501, //端口
'timeout'=>0.10, //超时时间单位 s
'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类型的
### 连接池
*****
防止客户端对后端服务并发量太高,我们也提供了连接池,连接池技术也基于我们的通用的连接池技术
- 序言
- 开始
- 安装 RapPhp
- 应用目录
- 配置文件
- 入口类
- MVC架构
- 控制器基础
- 前置方法
- 拦截器
- 动态路由
- Request和Response
- Cookie和Session
- 模板引擎
- 请求缓存
- 流程图
- 数据库
- 基础使用
- 查询语法
- 查询操作
- where
- order
- limit
- lock
- fields
- join
- distinct
- having
- group
- force
- 查询方法
- 多数据源
- 数据库类型
- Record模型
- 使用Record
- 增删改
- 查找方法
- 数据类型
- 基本类型
- JSON 数据类型
- time
- date
- attach
- const
- 迭代操作
- record 更多方法
- 注入与转json
- 多级缓存
- 多数据源
- 模型生成
- 回调事件
- IOC控制反转
- Ioc基础概念
- 依赖注入
- Scope作用域
- 构造器
- 循环依赖
- AOP面向切面
- AOP使用
- 切面
- AopBuild
- 生成 aop 文件
- 事件勾子
- 执行循序
- Swoole
- Http服务器
- 用户进程
- Context上下文(重要)
- 协程
- 特色功能
- 限流器
- 连接池
- 数据库连接池
- Redis 连接池
- 通用连接池
- Rpc 远程调用
- Rpc服务提供方
- Rpc客户端
- 熔断器与服务降级
- Redis 分布式锁
- 其他功能
- 缓存
- redis
- 文件存储
- 存储简介
- 本地存储
- OSS存储
- 配置
- 日志
- 验证器
- FileUtil
- 数组Util
- Http工具
- 多语言
- 命令行
- 使用命令行
- 生成模型文件
- AOP动态文件生成
- swoole_http服务器
- 自定义命令行
- 异常与调试
- 异常抛出
- 异常处理
- 部署
- URL重写
- DOCKER 镜像(重要)
- 附录
- 回调事件
- 开发规范
- Swoole开发注意点
- 热点行更新排队机制
