[RPC入门 | 青训营笔记]

53 阅读2分钟

这是我参与「第五届青训营」伴学笔记创作活动的第 15 天。

今天,我主要学习了RPC框架的相关知识,简要学习了它在Web体系开发中的应用。

一、什么是RPC?

RPC是用于在分布式系统中进行通信的一种技术。它可以让程序员像调用本地函数一样调用远程系统中的函数,而不必关心网络通信的细节。

打个比方,假设我们现在有一个远程系统,该系统有一个名为add的函数,该函数可以接收两个整数并返回它们的和。在本地系统中,我们可以使用RPC调用该远程系统中的add函数。在代码中,它看起来就像是在调用本地函数一样,但实际上,RPC框架将函数调用打包成网络请求发送到远程系统。远程系统接收到请求后,执行"add"函数,并将结果返回给本地系统。RPC框架在本地系统中处理返回结果,并以函数返回值的形式呈现给应用程序。

因此,通过RPC,我们可以轻松地调用远程系统中的函数,而不必关心网络通信的细节。

二、PRC的优点

  1. 增强系统的可用性和扩展性:RPC可以让不同的系统之间的资源无缝集成,提高了系统的可用性和扩展性
  2. 减少系统的复杂度:通过RPC,开发人员可以将复杂的网络通信隐藏在RPC框架中,从而减少系统的复杂度
  3. 提高开发效率:通过RPC,开发人员可以方便地调用远程系统中的资源,从而提高开发效率
  4. 提高系统的稳定性:RPC提供了重试和超时等功能,可以提高系统的稳定性

总的来说,RPC是一种优点十分突出的技术,它可以帮助开发人员提高系统的效率和可用性,从而提升开发效率。

三、常用RPC框架

  1. gRPC:由Google开发的高效、开源的RPC框架,支持多种语言,支持HTTP/2协议
  2. Apache Thrift:Apache的开源RPC框架,支持多种语言,高效且可扩展
  3. Dubbo:阿里巴巴开源的分布式服务框架,支持多种语言,特别适合于Java语言

一般来说,RPC往往用于大型软件体系开发,而这一类组织机构一般都会有自己独有的RPC设计框架。