基于netty手写rpc框架

1.RPC原理

原理的话,网上一搜一大堆,下面这一段我也是从网上搜的,哈哈。

RPC(Remote Procedure Call Protocol)——远程过程调用协议,它是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的协议。RPC协议假定某些传输协议的存在,如TCP/IP或UDP,为通信程序之间携带信息数据。RPC将原来的本地调用转变为调用远端的服务器上的方法,给系统的处理能力和吞吐量带来了近似于无限制提升的可能。在OSI网络通信模型中,RPC跨域了传输层和应用层。RPC使得开发包括网络分布式多程序在内的应用程序更加容易。

2.RPC架构

一个完整的RPC架构里面包含了四个核心的组件,分别是Client,Client Stub,Server以及Server Stub,这个Stub可以理解为存根。

  • 客户端(Client),服务的调用方。
  • 客户端存根(Client Stub),存放服务端的地址消息,再将客户端的请求参数打包成网络消息,然后通过网络远程发送给服务方。
  • 服务端(Server),真正的服务提供者。
  • 服务端存根(Server Stub),接收客户端发送过来的消息,将消息解包,并调用本地的方法。

3.RPC框架设计图

 基于netty手写rpc框架_第1张图片

 4.代码结构图

基于netty手写rpc框架_第2张图片

5.代码运行图

基于netty手写rpc框架_第3张图片

基于netty手写rpc框架_第4张图片

基于netty手写rpc框架_第5张图片

6.代码地址

my-rpc: 手写简单rpc框架,该框架基于 netty+springboot 进行开发,实现了 客户端到多服务端的逻辑,非常适合小白以及刚接触rpc框架的开发人员研究学习! (gitee.com)

第一次编写rpc框架,有什么错误或者是哪里不足的地方勿喷,留言告诉我,我会及时改成,欢迎大家留言!!

你可能感兴趣的:(框架,rpc,网络,java)