后端架构师必知必会系列:服务间通信与RPC

发布于:2023-09-27 ⋅ 阅读:(129) ⋅ 点赞:(0)

作者:禅与计算机程序设计艺术

1.简介

什么是RPC?

远程过程调用(Remote Procedure Call,RPC)是一种通过网络从另一个计算机程序上请求服务的协议。它允许运行于一台计算机上的程序调用另一台计算机上的子程序,而程序员无需额外地编写并维护底层的网络通信细节。因此,通过使用RPC可以跨越不同平台、不同的编程语言和不同的网络环境来进行分布式计算和数据交换。

为什么要用RPC?

一站式服务

当今社会对信息化的要求日益提升,传统的业务应用正在向微服务方向发展。为了更好地支撑这一应用模式,前端、客户端、后端都需要拆分成独立的服务,这些服务之间的依赖关系也逐渐成为系统的瓶颈。RPC提供了一站式服务的解决方案。将复杂的功能模块部署到独立的服务中,前端和后端只需要简单的调度即可完成调用,降低了耦合度,提高了可伸缩性。

服务调用方式灵活

在微服务架构下,不同服务之间往往存在依赖关系。为了避免大量的同步调用,可以使用RPC的方式来实现服务间的通信。基于RPC框架,服务可以像调用本地函数一样直接调用另一个服务的函数,也可以像调用本地对象一样调用另一个服务的方法。这样就可以屏蔍作者和被调用方的耦合度,简化开发工作,提升效率。

降低通信成本

由于RPC采用网络调用的方式,相比于直接调用函数或方法,通信过程中引入了额外的网络开销。如果通信频繁,则会增加延迟;如果网络质量不佳,则会导致通信失败。因此,RPC一般用于性能敏感型的场景,比如实时处理


网站公告

今日签到

点亮在社区的每一天
去签到