天天看点

Netty实战 基于Netty实现 RPC 框架 (兼容Spring)1 简介2 工程介绍3 流程介绍4 项目演示5 代码地址

1 简介

1 注册中心采用zookeepr
2 接口调用采用netty (需要兼容spring)

           
Netty实战 基于Netty实现 RPC 框架 (兼容Spring)1 简介2 工程介绍3 流程介绍4 项目演示5 代码地址

2 工程介绍

Netty实战 基于Netty实现 RPC 框架 (兼容Spring)1 简介2 工程介绍3 流程介绍4 项目演示5 代码地址
1 netty-rpc
  core: 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服务注册信息。

Netty实战 基于Netty实现 RPC 框架 (兼容Spring)1 简介2 工程介绍3 流程介绍4 项目演示5 代码地址

3 访问消费者接口

Netty实战 基于Netty实现 RPC 框架 (兼容Spring)1 简介2 工程介绍3 流程介绍4 项目演示5 代码地址
Netty实战 基于Netty实现 RPC 框架 (兼容Spring)1 简介2 工程介绍3 流程介绍4 项目演示5 代码地址

5 代码地址

https://gitee.com/zhurongsheng/netty-rpc