1. 基本理论
1.1 RPC概念
RPC【Remote Procedure Call】是指远程过程调用,是一种进程间通信方式,他是一种技术的思想,而不是规范。它允许程序调用另一个地址空间(通常是共享网络的另一台机器上)的过程或函数,而不用程序员显式编码这个远程调用的细节。即程序员无论是调用本地的还是远程的函数,本质上编写的调用代码基本相同。
1.2 RPC理解
理解:
(1).客户端调用client端接口
(2).client stub 将消息编码(序列化)并传输给服务方(socket)
(3).server stub 将消息解码(反序列化)并调用服务端接口
(4).服务端处理业务并返回处理结果到 server stub
(5).server stub 将消息编码(序列化)并传输给客户端(socket)
(6).client stub 接收消息解码(反序列化)并返回结果
核心模块:序列化、通讯
2.Dubbo理解
dubbo是一款高性能、轻量级的开源Java RPC框架,它提供了三大核心能力:面向接口的远程方法调用,智能容错和负载均衡,以及服务自动注册和发现。