当前位置:首页 > 公众号精选 > 21ic电子网
[导读]深入解析RPC的基本原理

RPC到底是个啥?举个例子告诉你


RPC(Remote Procedure Call),是一个大家既熟悉又陌生的词,只要涉及到通信,必然需要某种网络协议。我们很可能用过HTTP,那么RPC又和HTTP有什么区别呢?RPC还有什么特点,常见的选型有哪些?

1. RPC是什么

RPC可以分为两部分:用户调用接口 具体网络协议。前者为开发者需要关心的,后者由框架来实现。


举个例子,我们定义一个函数,我们希望函数如果输入为“Hello World”的话,输出给一个“OK”,那么这个函数是个本地调用。如果一个远程服务收到“Hello World”可以给我们返回一个“OK”,那么这是一个远程调用。我们会和服务约定好远程调用的函数名。因此,我们的用户接口就是:输入、输出、远程函数名,比如用 SRPC 开发的话,client端的代码会长这样:


int main()
{
Example::SRPCClient client(IP, PORT);
EchoRequest req; // 用户自定义的请求结构
EchoResponse resp; // 用户自定义的回复结构

req.set_message("Hello World");
client.Echo(
21ic电子网

扫描二维码,关注更多精彩内容

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
关闭
关闭