# Simple-RPC **Repository Path**: Yicizzz/simple-rpc ## Basic Information - **Project Name**: Simple-RPC - **Description**: 个人实现的基于netty+zookeeper的RPC远程调用框架 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2023-08-12 - **Last Updated**: 2024-04-01 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Simple-RPC #### 介绍 个人实现的基于netty+zookeeper的RPC远程调用框架 #### 其实每一步的所有操作放在一个处理器也行,但是不如分每个处理器处理的灵活 1.服务调用方 发送报文 writeAndFlush(object) pipine就生效了,报文开始出栈,请求 1.1这个object应该是什么?应该包含一些什么样的信息? SimpleRpcRequest(请求): 1.压缩类型 2.序列化方式 ---》第一个处理器 (in/out) loghandler ---》第二个处理器(out类型) (转换 object -> msg(请求报文) -->把报文序列化成想要的结果 -->压缩) 2.服务提供方 通过Netty接受 报文 pipline就生效了,报文开始入栈 ---》第一个处理器(in/out类型) log ---》第二个处理器(in类型)解码器 (解压缩、反序列化、msg(报文) -> simpleRpcRquest-->根据 里面的payload找到具体的实现类并调用方法--》封装响应结果返回consumer) --》第三个处理器 (in)想办法处理 yrpcrequest 执行方法调用,得到结果返回 3.服务提供方执行相应的方法,得到结果。 4.1.服务提供方 发送报文 writeAndFlush(object) 响应 ---》第一个处理器(out类型) (转换 object -> msg(响应报文)) ---》第二个处理器(out类型)(把报文序列化成想要的结果) ---》第三个处理器(out类型)(压缩) 5.服务调用方 通过netty接受响应报文 pipline就生效了,报文开始入栈 --->第一个处理器(in)(解压缩) -->第二个处理器(in) (反序列化) -->第三个处理器(in)(解析报文) 6.得到结果返回。