手写RPC框架-Netty

2020/09/01 网络 共 658 字,约 2 分钟

RPC 简介

RPC,Remote Procedure Call,远程过程调用,是一种通过网络从远程计算机上请求服务, 而不需要了解底层网络技术的协议。在 OSI 网络通信模型中,RPC 跨越了传输层(第四层, 传输协议 TCP/UDP,即通过 ip+port 进行通信)和应用层(第七层,传输协议有 HTTP、HTTPS、 FTP 等)。RPC 使得开发分布式系统应用变得更加容易

RPC 采用 C/S 模式。请求程序就是 Client,而服务提供程序就是 Server。首先,Client 发 送一个带有请求参数的调用请求到 Server,然后等待响应。在 Server 端,进程一直处于睡眠 状态直到接收到 Client 的调用请求。当一个调用请求到达,Server 会根据请求参数进行计算, 并将计算结果发送给 Client,然后等待下一个调用请求。Client 接收到响应信息,即获取到 调用结果,然后根据情况继续发出下一次调用

RPC 框架具体需求

我们这里要定义一个 RPC 框架,这个框架提供给用户后,用户只需要按照使用步骤就 可以完成 RPC 远程调用。我们现在给出用户对于该 RPC 框架的使用步骤: 1.用户需要将业务接口通知到Server与Client,因为业务接口是服务名称。 2.用户只需将业务接口的实现类写入到Server端的指定包下,那么这个包下的实现类就会被 Server 发布。 3.Client端只需根据业务接口名就可获取到Server端发布的服务提供者,然后就可以调用 到远程 Server 端的实现类方法的执行

Netty执行流程

Netty流程

Netty Demo

github上 netty-demo

文档信息

Search

    Table of Contents