绑定完请刷新页面
取消
刷新

分享好友

×
取消 复制
一行RPC调用,究竟发生了什么?(内核干货)
2020-08-03 14:24:41
每当我们写下一个本地函数调用的时候:
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内核细节,是需要了解的。
分享好友

分享这个小栈给你的朋友们,一起进步吧。

架构师之路
创建时间:2019-12-19 10:54:22
架构师之路,沈剑和他的朋友们,聊聊职场,聊聊互联网,聊聊管理,聊聊架构,聊聊人生
展开
订阅须知

• 所有用户可根据关注领域订阅专区或所有专区

• 付费订阅:虚拟交易,一经交易不退款;若特殊情况,可3日内客服咨询

• 专区发布评论属默认订阅所评论专区(除付费小栈外)

栈主、嘉宾

查看更多
  • 58沈剑
    栈主
  • hwayw
    嘉宾
  • 唐川ITPUB
    嘉宾
  • 渔人
    嘉宾

小栈成员

查看更多
  • ?
  • 山中老狐狸
  • gaokeke123
  • 栈栈
戳我,来吐槽~