- async: 实现RpcFuture,完成客户端异步和同步回调
- core: Netty客户端核心逻辑,Channel复用、心跳保活
- faultTolerantInvoker: 容错策略(fail-fast和retry)
- loadbalance: 负载均衡(Random、FullRound(轮询)、ConsistentHash(一致性哈希))
- proxy: 动态代理
- annotation: 自定义注解@RpcService(标识提供的服务)
- codec: Netty编、解码器
- dto: 自定义RPC传输协议,RpcMessage、RpcRequest、RpcResponse
- extension: SPI实现可拔插扩展设计
- register:Zookeeper注册中心
- serializer:ProtoBuf、Kryo、Hessian序列化和反序列化
- codec: Netty TCP粘包、拆包处理
- register: Nacos注册中心
- compress: dummy和gzip对数据包进行压缩
- core: Netty 服务端核心逻辑,注册服务,接受请求
- invoke: 反射调用请求,实现jdk
- invoke: 反射调用请求,实现cglib
- 集成Spring和SpringBoot
- 编写更多测试
参考项目:https://github.com/DongZhouGu/XRPC
参考博客:https://www.dzgu.top/XRPC/#/