国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

Thrift架構

wall2flower / 1213人閱讀

摘要:服務器端使用它來做頂層接口,編寫實現類。會自動生成同步調用和異步調用的兩個接口。方法參數的封裝類,以方法名命名方法返回值的封裝類,以方法名命名參考個人博客

基本概念

輕量級、跨語言的RPC框架

功能特點

基于IDL(接口描述語言)生成跨語言的RPC clients and servers,支持超過20種語言

支持二進制的高性能的編解碼框架

支持NIO的底層通信

相對簡單的服務調用模型

Thrift架構

在介紹Thrift架構前,先了解下一般RPC框架的組成結構

RPC組成結構


包括服務器端發布和調用處理組件,網絡IO組件,協議編解碼組件,客戶端調用組件,客戶端代理組件等等

Thrift架構



各部分解釋可看圖中英文,釋義補充:
1、用戶自定義類型序列化方式將在通過IDL生成的代碼中實現,實際也是根據struct中的各個field調用TProtocol的基礎類型序列化實現
2、RPC stub中已經提供了Service Client,其作用是構造Thrift調用參數,發起調用,解析結果;而白色部分需用戶自己寫的Client是實例化TProtocol、TTransport組件,設置業務參數,通過調用Service Client發起請求

Thrift組件

TProtocol 協議和編解碼組件
TTransport IO傳輸組件
TProcessor 服務調用處理組件
TServer,服務器網絡IO
IDL 服務描述組件,負責生產跨平臺客戶端

IDL 服務描述語言 IDL語法

namespace 定義包名
struct 定義服務接口的參數,返回值使用到的類結構。如果接口的參數都是基本類型,則不需要定義struct
service 定義接口

支持的數據類型
bool 布爾型
byte 8位整數
i16  16位整數
i32  32位整數
i64  64位整數
double 雙精度浮點數
string 字符串
binary 字節數組
list List集合,必須指明泛型
map Map類型,必須指明泛型
set Set集合,必須指明泛型

生成的類包括5部分

接口類型,默認名稱都是Iface。這個接口類型被服務器和客戶端共同使用。服務器端使用它來做頂層接口,編寫實現類。客戶端代碼使用它作為生成代理的服務接口。會自動生成同步調用和異步調用的兩個接口。
客戶端類型,一個同步調用的客戶端Client,一個異步調用的客戶端AsyncClient
Processor,用來支持方法調用,每個服務的實現類都要使用Processor來注冊,這樣最后服務器端調用接口實現時能定位到具體的實現類。
方法參數的封裝類,以"方法名_args"命名
方法返回值的封裝類,以"方法名_result"命名

參考

http://blog.csdn.net/iter_zc/...

個人博客:https://my.oschina.net/hebaod...

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/71166.html

相關文章

  • Thrift

    摘要:遠程調用服務調用遠端的服務的就像直接在本地調用本質上來說是一種服務的是一種服務但它只限于與語言之間的調用提供了跨語言的服務調用服務的組成部件服務本質上是一種架構服務所以在編寫一個組件時需要編寫端端還要編寫傳輸的協議框架主要是實現這三種部件的 thrift rpc(遠程調用)服務:調用遠端的服務的就像直接在本地調用.本質上來說是一種c/s服務. Java的RMI是一種rpc服務,但它只限...

    JerryC 評論0 收藏0
  • 架構小試之IDL

    摘要:不合理的選型在后續維護上會帶來不小的麻煩。因此一般公司會將所有服務的文件統一維護。生成的數據結構一般均支持序列化和反序列化,并且跨端跨語言。只支持,和數值三種結構,和支持相互嵌套,標準的的數值僅有這三種。只有大約的大小。本文轉載自我自己的博客,感興趣的老爺們可以關注~:https://www.miaoerduo.com/2021/11/16/arch-idl/為什么IDL的介紹也放在這里呢?...

    番茄西紅柿 評論0 收藏2637
  • php+nodeJs+thrift協議,實現zookeeper節點數據自動發現

    摘要:可以在主進程中拋出一個子進程,子進程中實現的自動發現,子進程偵察到節點數據變化時,主動通知主進程。架構的整體思路是子進程實現的自動發現,主進程維護一個節點數據的共享變量,其他服務要想使用節點數據時,從主進程中獲取。 php是當下最流行的web服務器端語言,zookeeper是大型分布式協同工具,本文在這里介紹一種架構實現php服務器對于zookeeper數據變化的自動監聽 一.問題背景...

    MingjunYang 評論0 收藏0
  • 微服務實戰:從架構到發布(一)

    摘要:微服務集成服務間通信微服務架構下,應用的服務直接相互獨立。微服務架構傾向于降低中心消息總線類似于的依賴,將業務邏輯分布在每個具體的服務終端。 引言:微服務是當前軟件架構領域非常熱門的詞匯,能找到很多關于微服務的定義、準則,以及如何從微服務中獲益的文章,在企業的實踐中去應用微服務的資源卻很少。本篇文章中,會介紹微服務架構(Microservices Architecture)的基礎概念,...

    libin19890520 評論0 收藏0
  • 微服務實戰:從架構到發布(一)

    摘要:微服務集成服務間通信微服務架構下,應用的服務直接相互獨立。微服務架構傾向于降低中心消息總線類似于的依賴,將業務邏輯分布在每個具體的服務終端。 引言:微服務是當前軟件架構領域非常熱門的詞匯,能找到很多關于微服務的定義、準則,以及如何從微服務中獲益的文章,在企業的實踐中去應用微服務的資源卻很少。本篇文章中,會介紹微服務架構(Microservices Architecture)的基礎概念,...

    HtmlCssJs 評論0 收藏0

發表評論

0條評論

最新活動
閱讀需要支付1元查看
<