什么是RPC
RPC(Remote Procedure Call):远程过程调用,它是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的协议。比如两个不同的服务 A、B 部署在两台不同的机器上,那么服务 A 如果想要调用服务 B 中的某个方法该怎么办呢?使用 HTTP请求当然可以,但是可能会比较麻烦。 RPC 的出现就是为了让你调用远程方法像调用本地方法一样简单。
RPC远程过程调用的原理
上来贴一张图(这次是自己梳理的,没有盗用大神的,哈哈哈):
下面的我们就来说一下这个流程是怎么样的一个过程:
- 我们从图里就可以看出来,RPC是包括三方的,即:生产者、消费者以及注册中心(中央管理者)生产者就是服务的提供方,消费者就是服务的请求方(请求调用服务的),中央的注册中心就是帮助我们管理服务者和消费者信息的中介(类似于房产中介一样)
- 首先,生产者想要让别人来消费自己提供的服务对吧,那么他就需要找一个中介来帮助他,也就是他会将自己所提供的服务向注册中心去注册(包括服务ip、端口、以及提供的类或者方法),同时注册中心会生成一个密钥来唯一标识