什么是RPC?
RPC【Remote Procedure Call】是指远程过程调用,是一种进程间通信方式,他是一种技术的思想,而不是规范。它允许程序调用另一个地址空间(通常是共享网络的另一台机器上)的过程或函数,而不用程序员显示编码这个远程调用的细节。即程序员无论是调用本地的还是远程的函数,本质上编写的调用代码基本相同。
也就是说两台服务器A,B,一个应用部署在A服务器上,想要调用B服务器上应用提供的函数/方法,由于不在一个内存控件,不能直接调用,需要通过网络来表达调用的语义和传达调用的数据。为什么要用RPC呢?就是无法在一个进程内,甚至一个计算机内通过本地调用的方式完成的需求,比如不同的系统间的通讯,甚至不同的组织间的通讯,由于计算能力需要横向扩展,需要在多台机器组成的集群上部署应用。RPC就是要像调用本地的函数一样去调远程函数;
推荐阅读的文章 https://www.jianshu.com/p/2accc2840a1b
RPC基本原理
分析步骤:
RPC两个核心模块:通讯,序列化。
Netty:30天~ 网络原理->计算机传输->。。。
A、HTTP SpringCloud(生态~)
B、Dubbo~ 18年重启!Dubbo 3.x 专注于RPC,只是一个RPC框架,一个通信框架。
B干不倒A,A是生态,解决一系列问题,B仅仅是个RPC框架
专业的事,交给专业的人来做~