使用netty自定义RPC服务

RPC ——remote procedure call 远程过程调用 协议

RPC 是一种网络间方法调用的过程。使用RPC可以实现调用另一台应用上的服务接口可以向调用本地服务接口一样操作。

RPC 过程有:客户端发起调用 >调用客户端rpc工具包进行数据序列化并向发起socket网络通信请求>服务端rpc工具包收到socket请求反序列化数据并找到请求访问的服务接口>调用服务端的服务接口执行计算>服务端rpc工具包获得计算结果序列化后发起socket网络通信响应给客户端>客户端rpc工具包反序列化响应结果>客户端调用方法获得计算结果。

对于rpc使用者来说,他们不用关心绿色背景的过程,对于他们来说,他们只需要像编写本地接口一样去开发和调用接口。

实现rpc的框架则需要帮我们分装实现数据通信的网络io操作和socket连接请求处理等工作。

具体如图:

既然是调用另一台服务器上的服务,那么网络通信之间的数据传递就要用到网络IO

io即输入(input)和输出(output)。以内存为目的,进入内存为in,读出内存为out

介绍下nio

----------------------未完,待续-----------------------

介绍下netty

项目设计说明

https://gitee.com/tianhaichao/learning_space.git

原文地址:https://www.cnblogs.com/tianhaichao/p/13402579.html