Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

merge #1

Merged
merged 9 commits into from
Oct 3, 2020
Prev Previous commit
Next Next commit
[update]update readme
Snailclimb committed Oct 3, 2020
commit bcea1c729f2d5d72350396605681f24072dcef7e
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
@@ -76,14 +76,14 @@
- [x] **集成 Spring 通过注解进行服务消费** 。参考: [PR#10](https://github.com/Snailclimb/guide-rpc-framework/pull/10)
- [x] **增加服务版本号** :建议使用两位数字版本,如:1.0,通常在接口不兼容时版本号才需要升级。为什么要增加服务版本号?为后续不兼容升级提供可能,比如服务接口增加方法,或服务模型增加字段,可向后兼容,删除方法或删除字段,将不兼容,枚举类型新增字段也不兼容,需通过变更版本号升级。
- [x] **对 SPI 机制的运用**
- [x] 扩充 rpc 协议,增加序列化协议字段,服务端可以根据消息体中的序列化协议动态选择序列化器。参考: [PR#14](https://github.com/Snailclimb/guide-rpc-framework/pull/14)
- [ ] **增加可配置比如序列化方式、注册中心的实现方式,避免硬编码** :通过 API 配置,后续集成 Spring 的话建议使用配置文件的方式进行配置
- [ ] **客户端与服务端通信协议(数据包结构)重新设计** ,可以将原有的 `RpcRequest`和 `RpcReuqest` 对象作为消息体,然后增加如下字段(可以参考:《Netty 入门实战小册》和 Dubbo 框架对这块的设计):
- [x] **客户端与服务端通信协议(数据包结构)重新设计** ,可以将原有的 `RpcRequest`和 `RpcReuqest` 对象作为消息体,然后增加如下字段(可以参考:《Netty 入门实战小册》和 Dubbo 框架对这块的设计):
- **魔数** : 通常是 4 个字节。这个魔数主要是为了筛选来到服务端的数据包,有了这个魔数之后,服务端首先取出前面四个字节进行比对,能够在第一时间识别出这个数据包并非是遵循自定义协议的,也就是无效数据包,为了安全考虑可以直接关闭连接以节省资源。
- **序列化器编号** :标识序列化的方式,比如是使用 Java 自带的序列化,还是 json,kyro 等序列化方式。
- **消息体长度** : 运行时计算出来。
- ......
- [ ] **编写测试为重构代码提供信心**
- [ ] **服务监控中心(类似dubbo admin)**

### 项目模块概览