RPC

2020-04-04  本文已影响0人  Robin92

演进

stub 封装了 client 对 RPC 服务的调用,屏蔽了网络的细节。

核心

动态代理,是 RPC 的核心。

通过动态代理实现了这个实例。就像 PHP 的 call_user_function 一样,传入了 代理、方法、参数。由代理去做网络的处理细节。远程去连接并调用。

序列化框架

序列化,转换成二进制,另一端反序列化,转换成要处理的对象。

RPC 的序列化框架(Serialize Framework)

完整的 RPC 的框架,要包含:服务注册、服务发现、服务治理、服务的负载均衡…… protobuf 只是一个序列化框架。

为什么要用序列化

RPC 网络协议

RPC 还可以选不同的协议,如 http、tcp、webservice、mail等。gRPC 是用的 http2.0 双工的,可以传二进制。

webservice 是 http + xml 的标准化 Web API。XML 纯文本,太大了。几乎要被淘汰了。取而代之的是 RESTful API,http + json。

上一篇下一篇

猜你喜欢

热点阅读