https://blog.csdn.net/cjf_wei/article/details/78763517
https://blog.csdn.net/zkp_java/article/details/81879577
RPC基本原理
大部分的RPC框架都遵循如下三个开发步骤:
RPC通信过程如下图所示
通信过程包括以下几个步骤:
图中Your Code是用户实现的业务逻辑,接下来的FooService.Client和Foo.write()/read()是thrift根据IDL生成的客户端和服务端的代码,对应于RPC中Client stub和Server stub。TProtocol 用来对数据进行序列化与反序列化,具体方法包括二进制,JSON 或者 Apache Thrift 定义的格式。TTransport 提供数据传输功能,使用 Apache Thrift 可以方便地定义一个服务并选择不同的传输协议。
如下图所示为thrift的网络栈结构