Go语言RPC协议:远程过程调用

  • 内容
  • 评论
  • 相关

RPC 协议构建于 TCP、UDP 或者是 HTTP 之上,允许开发人员直接调用另一台计算机上的程序,而开发人员无需额外地为这个调用过程编写网络通信相关代码,使得开发网络分布式类型的应用程序更加容易。

Go语言的标准库提供了 RPC 框架和不同的 RPC 实现。

什么是 RPC

远程过程调用(Remote Procedure Call,简称 RPC)是一个计算机通信协议。该协议允许运行于一台计算机的程序调用另一台计算机的子程序,而开发人员无需额外地为这个交互作用编程。如果涉及的软件采用面向对象编程,那么远程过程调用亦可称作远程调用或远程方法调用。

通俗的来讲就是,RPC 允许跨机器、跨语言调用计算机程序。例如我们用Go语言写了一个获取用户信息的方法 getUserInfo,并把Go语言程序部署在阿里云服务器上面,另外我们还有一个部署在腾讯云上面的 php 项目,需要调用Go语言的 getUserInfo 方法获取用户信息,php 跨机器调用 Go 方法的过程就是 RPC 调用。

RPC 的工作流程如下图所示:

远程过程调用
图:远程过程调用流程图

本文标题:Go语言RPC协议:远程过程调用

本文地址:https://www.hosteonscn.com/6001.html

评论

0条评论

发表评论

邮箱地址不会被公开。 必填项已用*标注