原因
- 精简rpc包,剔除mq功能
- 使用egg agent,支持多worker启动(支持多worker意义不大,egg 3.0的milestone对docker的singleprocess会做优化,到时候再根据情况做调整)
- 提供尽量方便的配置性,支持开发自定义proto文件的同时不需要格外增加代码(屏蔽掉内部实现)
设计点记录
client
- call
连接断开: 连接断开后直接抛错,删掉记录的client,等待下次调用再发起连接,因为只有调用时才能执行建立连接,直接用调用方法重试容易出现死循环
报错: 通过判断response.body.code<0,创建error,reject error
- stream
连接断开: 连接断开后重试连接,通过监听error事件重试
server
启动失败: 设计只支持发生在申请端口时,直接reject error
保存连接对应的client
|
|
触发rpcData时带上key
设置传输包大小
改动范围
fx-rpc
启动rpc服务,处理client发送的请求,调用本地方法
传输格式
|
|
middle
client发送rpc请求,格式参考部分JSON-RPC
|
|