ggrpc 是一个用 go 语言编写的 RPC 框架,仅用于学习。
- client 模块:支持客户端发包
- server 模块:支持服务端收包
- transport 模块:提供底层的通信能力
- codec 模块:自定义协议的解析、序列化和反序列化
- pool 模块:池技术,支持连接池、对象池等实现,提供客户端连接的复用、对象复用等能力
- log 模块:提供日志能力
- selector 模块:提供寻址能力,支持服务发现(resolver)、负载均衡 (loadbalance)等默认实现
- stream 模块:提供客户端和服务端上下文数据透传能力,后续还会支持流式传输
- protocol 模块:提供自定义私有协议能力
- plugin 模块:提供第三方插件化支持能力
- interceptor 模块:提供框架拦截器能力
- metadata 模块:提供客户端和服务端参数传递能力