【RPC】初步理解

基本概念

RPC(Remote Proceduce Call) 全称:远程过程调用,一般指通过C/S模式,客户端通过自定义的协议远程调用服务端的函数,并可通过服务端获取到函数返回结果,客户端无需关注远程调用、网络层传输等细节,即可实现A端友好地调用B端所定义的函数或标准。

优点:

1、减少传输內容,提高传输效率。RPC一般基于TCP或HTTP2.0协议,采用长连接来实现数据通讯,减少HTTP协议多次连接、断开带来的性能损耗。并且,传输数据结构可根据C/S双方进行统一指定,无需例如:HTTP1.0协议这样的固定协议头,减少不必要的数据传输量,提高系统并发能力。

2、特性可提供强大的分布式能力,降低系统的耦合性。例如可将一个庞大的系统分成多个模块,多个模块之间通过RPC的形式进行通讯调用,RPC让客户端调用其他模块函数的方式几乎与调用本地函数相同,极大提高了开发人员的效率。

3、解析效率高,支持高效率的二进制传输。在很多RPC框架中有很多比传统HTTP协议高效率的传输协议,例如:thrift、gRPC的protobuf,相比于HTTP常用的JSON\XML数据传输格式有着更为高效解析速度以及的二进制数据传输方式。

缺点:

1、实现较为复杂。一般实现一个RPC需要经过基本的:协议制定->协议生成->交换协议,相比于直接本地Code,直接调用函数较为复杂。

常见应用场景:

1、分布式计算

2、数据库存储过程调用

3、微服务、分布式系统架构

发布了18 篇原创文章 · 获赞 8 · 访问量 3万+

猜你喜欢

转载自blog.csdn.net/qq_20408397/article/details/104488655