用Netty自己实现Dubbo RPC

1.RPC基本介绍

1>.RPC(Remote Procedure Call)— 远程过程调用,是一个计算机通信协议.该协议允许运行在一台计算机中的程序调用另一台计算机的子程序,而程序员无需额外地为这个交互作用编程;

2>.两个或多个应用程序都分布在不同的服务器上,它们之间的调用都像是本地方法调用一样(如图):
用Netty自己实现Dubbo RPC_第1张图片
3>.常见的RPC框架:

比较知名的如阿里的Dubbo、Google的gRPC、Go语言的rpcx、Apache的thrift,Spring旗下的Spring Cloud等;

2.RPC调用流程图

用Netty自己实现Dubbo RPC_第2张图片
PRC调用流程说明:

①.服务消费方(client)以本地调用方式调用服务;

②.client stub(客户端存根)接收到调用后负责将方法、参数等封装成能够进行网络传输的消息体;

③.client stub将消息进行编码并发送到服务端;

④.server stub(服务端存根)收到消息后进行解码;

⑤.server stub根据解码结果调用本地的服务;

⑥.本地服务执行并将结果返回给server stub;

你可能感兴趣的:(netty,dubbo,rpc,java,后端,面试)