作者:知心friend2007 | 来源:互联网 | 2023-09-14 22:53
1简介1注册中心采用zookeepr2接口调用采用netty(需要兼容spring)2工程介绍1netty-rpccore:nettyrpc核心包公用编解码、注解、handle
1 简介 1 注册中心采用zookeepr2 接口调用采用netty ( 需要兼容spring)
2 工程介绍
1 netty- rpccore: netty rpc 核心包 公用编解码、注解、handler、格式定义、工具类等功能。client:服务消费者依赖包,提供服务发现、channel复用、监听服务提供信息等功能。server:服务提供者依赖包,提供服务注册、client调用响应等功能。2 spring- demo:api: 定义相关接口spring- customer: 服务消费。spring- provider: 服务提供者。
3 流程介绍 3.1 服务提供者 1 启动服务提供者,扫描RoshRpcService 注解,并把相关接口注册相关信息到zk上。2 启动NettyServer ,提供rpc服务响应。
3.2 服务消费者 1 启动服务消费者,发现zk相关服务信息,并且监听变化。2 后置处理器,收集RoshRpcRemote 相关注解service,采用动态代理进行加强。
3.3 编解码 1 TCP粘包、半包采用LengthFieldBasedFrameDecoder ,固定header,变body。2 请求格式RpcRequest 、响应格式为RpcResponse ,根据客户端/ 服务端场景不同,采用不同的RpcResponse 、RpcRequest 编解码器。
4 项目演示 1 依次启动spring-provider、spring-customer。
2 查看zk服务注册信息。 3 访问消费者接口
5 代码地址 https://gitee.com/zhurongsheng/netty-rpc