Skip to content

jingtao8a/NettyRpc

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

40 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

仿写XRPC实现一个轻量级RPC Demo


项目结构

rpc-client

  • async: 实现RpcFuture,完成客户端异步和同步回调
  • core: Netty客户端核心逻辑,Channel复用、心跳保活
  • faultTolerantInvoker: 容错策略(fail-fast和retry)
  • loadbalance: 负载均衡(Random、FullRound(轮询)、ConsistentHash(一致性哈希))
  • proxy: 动态代理

rpc-common

  • 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对数据包进行压缩

rpc-server

  • core: Netty 服务端核心逻辑,注册服务,接受请求
  • invoke: 反射调用请求,实现jdk
  • invoke: 反射调用请求,实现cglib

another

  • 集成Spring和SpringBoot
  • 编写更多测试

参考项目:https://github.com/DongZhouGu/XRPC
参考博客:https://www.dzgu.top/XRPC/#/

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages