欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

RPC理解

程序员文章站 2022-04-08 19:22:06
RPC,英文名称Remote Procedure Call Protocol,即远程过程通讯协议。 可以设想一种情况,有一个人,叫A,A想要翻开一本书,非常简单,让大脑控制自己两只手,轻易就可以看到书本内容。突然有一天,A想看另一本书,他发现自己没有,而好朋友B有这本书,但是怎么跟好朋友B借呢?于是 ......

  rpc,英文名称remote procedure call protocol,即远程过程通讯协议

  可以设想一种情况,有一个人,叫a,a想要翻开一本书,非常简单,让大脑控制自己两只手,轻易就可以看到书本内容。突然有一天,a想看另一本书,他发现自己没有,而好朋友b有这本书,但是怎么跟好朋友b借呢?于是,a向b发出rpc请求,a顺利的借到了b的书。

  现在有两台服务器,服务器a向服务器b请求数据,两个服务器不在一个内存空间,这时候,a和b首先就要解决通信的问题,a和b之间建立tcp连接,远程过程调用的数据都在这个连接里面。连接可以是按需连接,也可以是长连接。

  a服务器要通过底层的rpc框架,告诉b服务器要传输什么,比如主机名称,ip地址,端口号,调用的名称等等,这样才能精确的找到b服务中调用名称的位置。一般项目中都会用rmi进行调用,需要注册中心来注册服务地址。

  当然,服务器之间通信时需要将其序列化为二进制格式,防止通信时出现错误。