https://blog.csdn.net/zkp_java/article/details/81879577
RPC基本原理
大部分的RPC框架都遵循如下三個開發步驟:
RPC通信過程如下圖所示
通信過程包括以下幾個步驟:
圖中Code是用戶實現的業務邏輯,接下來的Service.Client和.write()/read()是thrift根據IDL生成的客戶端和服務端的代碼,對應於RPC中Client stub和Server stub。TProtocol 用來對數據進行序列化與反序列化,具體方法包括二進制,JSON 或者 Apache Thrift 定義的格式。TTransport 提供數據傳輸功能,使用 Apache Thrift 可以方便地定義一個服務並選擇不同的傳輸協議。
如下圖所示為thrift的網絡棧結構