RPC(remote procedure call)远程过程调用。
比如:两台服务器A和B,A服务器上部署一个应用,B服务器上部署一个应用,A服务器上的应用想调用B服务器上的应用提供的接口,由于不在一个内存空间,不能直接调用,所以需要通过网络来表达调用的语义和传达调用的数据。
一、步骤:
- 通讯问题:客户端和服务端建立TCP连接,远程过程调用的所有交换的数据都在这个连接里传输;(连接可以是按需连接,调用结束后就断掉,也可以是长连接,多个远程过程调用共享一个连接)
- 寻址问题:A服务器通过底层RPC框架得知,如何连接到B服务器(主机或IP地址)以及特定的端口,方法的名称等信息。
- A服务器上的应用,发起远程调用,方法的参数(序列化过了,因为网络协议是基于二进制的)通过底层网络协议和TCP传递到B服务器;
- B服务器收到请求后,反序列化,恢复为内存中的表达方式,然后找到对应的方法进行本地调用并返回(序列化返回值)给A服务器;
- A服务器收到B服务器的返回值,反序列化,然后交给A服务器上的应用进行处理。
二、为什么使用RPC
就是无法在一个进程内,甚至一个计算机内通过本地调用的方式完成的需求,比如比如不同的系统间的通讯,甚至不同的组织间的通讯。由于计算能力需要横向扩展,需要在多台机器组成的集群上部署应用。
RPC的协议有很多,比如Java RMI、WebService的RPC风格、Hession、Thrift、REST API
继续阅读与本文标签相同的文章
-
大陆集团:仓储智慧化建设是我国物流行业降本增效最有效的途径之一
2026-05-18栏目: 教程
-
5G真的来了!2020年将在超340个城市覆盖5G
2026-05-18栏目: 教程
-
Windows 10计算器应用更新:完全支持三角函数运算
2026-05-18栏目: 教程
-
Docker容器实战(五) - 特殊的进程!
2026-05-18栏目: 教程
-
靠颜值进站!刷脸支付与轨道交通的大联合
2026-05-18栏目: 教程
