热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Netty实战基于Netty实现RPC框架(兼容Spring)

1简介1注册中心采用zookeepr2接口调用采用netty(需要兼容spring)2工程介绍1netty-rpccore:nettyrpc核心包公用编解码、注解、handle

1 简介

1 注册中心采用zookeepr
2 接口调用采用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,根据客户端/服务端场景不同,采用不同的RpcResponseRpcRequest 编解码器。

4 项目演示

1 依次启动spring-provider、spring-customer。

2 查看zk服务注册信息。
在这里插入图片描述
3 访问消费者接口
在这里插入图片描述

在这里插入图片描述


5 代码地址

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

推荐阅读
author-avatar
知心friend2007
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有