女票的大杀器 —— RPC(远程过程调用)
Posted 蓝桥云课精选
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了女票的大杀器 —— RPC(远程过程调用)相关的知识,希望对你有一定的参考价值。
今天想讲讲 RPC,RPC(Remote Procedure Call) 是远程过程调用的缩写,那么到底啥是 RPC ?emmm... 结合这两天双 11 的个人经历,我觉得我可以形象的解释一下。
要说远程过程调用,自然是相对于本地过程调用的,啥是本地过程调用呢?双 11 快递贼多,当然,都是女票的,没一个是我的。女票如果在家,一收到快递短信,都会亲力亲为的自己跑下楼拿快递再跑回来拆开,这就叫本地过程调用。
那么啥叫远程过程调用呢,比如当只有我在家时,快递来了,女票就会把快递信息发给我,多的字一个都不会有,然后我就屁颠屁颠的取快递,这时女票发过来的短信就是 RPC ,而我呢,就是那个被调用的远程程序,双十一我一天被调用可能也就十多二十次吧
回到程序来,那到底如何调用不存在与本地的程序呢,那就需要解决呼叫方(本地)和被叫方(远程)的通信问题了:
网络传输
本地调用的参数存放在寄存器或栈中,在同一块内存中,可以直接访问到。远程过程调用需要借助网络来传递参数和需要调用的函数 ID。
编解码
呼叫方需要将参数转化为字节流,被叫方需要将字节流转化为参数。
函数映射表
被叫方的函数需要有唯一的 ID 标识,呼叫方通过 ID 标识告知被叫方需要调用哪个函数。
其实只要实现以上三个功能, RPC 的基本框架也就搭建好了,如果你跟我一样是收快递远程程序的话,那你也可以愉快的被调用了~。好的,今天我就来推荐一个课程,教大家搭建一个 高性能、易用、跨平台的 RPC 库。
课程使用 C++ 11 实现,涉及到 RPC 基本思想实现,asio 网络编程、msgpack 序列化与反序列化、C++ 回调函数、C++ 智能指针等知识点。
测试用户看了也说好
而且最最最重要的是,本课程限时优惠,原价 89 元,现仅售 69 元,只在本周哦,可通过「阅读原文」购买。想了解 RPC 网络库的同学不要错过哦!~
以上是关于女票的大杀器 —— RPC(远程过程调用)的主要内容,如果未能解决你的问题,请参考以下文章
Flink SQL 功能解密系列 解决热点问题的大杀器 MiniBatch