一行RPC调用,究竟发生了什么?(内核干货)

共 1113字,需浏览 3分钟

 ·

2020-08-04 23:17

每当我们写下一个本地函数调用的时候:
int result = Add(1, 2);

我们知道,代码段里有一段Add的代码,调用方将参数1和2压栈传入,Add函数计算完成之后,返回结果给result,这是一个本地函数调用的过程。

画外音:额,有朋友留言,他并不知道。

那每当我们写下一个RPC接口调用的时候:
int result = RPCService::Add(1, 2);

整个过程发生了什么?


又或许,那么当我们写下RPC异步调用的时候:
RPCService::Add(1, 2, callback);

callback(result){
    ...
}

整个过程又发生了什么?


微服务分层架构之后,微服务能够提供RPC接口,使得上游像调用本地函数一样,去调用一个远端的服务:
(1)整个RPC内核架构是怎么样的?
(2)整个RPC调用内部流程是怎么样的?
(3)内存对象,如何转化为二进制流?
(4)同步调用RPC架构序列化组件,连接池组件的实现细节是怎么样的?
(5)异步调用RPC架构上下文管理器,请求收发队列,请求收发线程,超时管理器的实现细节是怎么样的?
(6)...
作为一个有追求的工程师,这些RPC内核细节,是需要了解的。

工程师的核心竞争力,并不是用过多少用具,而是懂得工具内核的原理,做到知其然,知其所以然。

事件:在线直播,第六期
话题《RPC内核架构与细节》
人物:沈剑
时间:8.2(今晚)20:00
费用:架构师之路朋友免费,其他人不开放
大纲:上文中的1-6

如何观看直播?
没有任何套路,扫码进入H5,立刻观看。


只聊技术,RPC内核,扫码进入直播间


不知不觉,通过直播讲解技术,已经讲到第六期了:
  • 第一期,区块链架构设计

  • 第二期,秒杀架构设计

  • 第三期,feed架构设计

  • 第四期,搜索引擎内核架构与细节

  • 第五期,MQ内核架构与细节

感兴趣的童鞋,扫码回看历史:

扫码,回看历史直播


直播,也是自己一时兴起,付出周末的时间,讲讲技术,和大家聊聊天。如果大家觉得效果好,我尽自己努力,坚持做下去。

颜值主播,嘴笨,如果现场翻车,大伙多多包涵。

公众号不能推消息,很不方便。搞了一个服务号,今后的不定期直播,会以消息的形式,通过服务号发出,欢迎关注。
服务号,不定期免费直播

欢迎今晚20:00来看我在线翻车,来不了的,也帮忙转发,支持下这份情怀

阅读原文,立刻进入直播间,提前占坑
让自己有一次,实现RPC的冲动。
浏览 16
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报