亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

《Thrift白皮書》小結

系統 1802 0

一.簡介

??? 定義:Thrift是facebook開發出的一個 軟件庫 和一組 代碼生成工具 ,以加快高效率、可擴展的后端服務的開發與實現的速度。
??? 使用:先在一個單獨的語言無關的文件中定義數據類型和服務接口,再用生成器生成代碼,最后可以根據需要添加和修改生成代碼(可能用到Thrift的庫)。

??? 特色:多語言支持、庫和代碼生成器帶來的高效率。

?

二.基礎組件

??? 包括:類型、傳輸、協議、版本化和處理器

2.類型

??? 2.1.基本類型:bool,byte,i16,i32,i64,double,string

??? 2.2.結構體:使用關鍵字struct定義

??? 2.3.容器:list<type>,set<type>,Map<type1,type2>

??? 2.4.異常:使用關鍵字exception定義

??? 2.5.服務:使用關鍵字service定義

3.傳輸

??? 3.1.接口:TTransport,TServerTransport

??? 3.2.實現:TSocket,TFileTransport,Utilities(TBufferdTransport,TFramedTransport和

????????????????? TMemoryBuffer)

4.協議:

??? 4.1.接口:雙向有序的消息傳遞

???????????????? 基本類型、容器及結構體的編碼

??? 4.2.結構:Thrift協議是自定界的,沒有任何成幀,且不論編碼格式。

????????????????? 如需成幀可使用TFramedTransport來完成。

??? 4.3.實現:所有數據按一種扁平的二進制格式來寫的。

5.版本化:

??? 5.1.域標識符:在語言無關文件中的變量前的數字,自動添加的是從-1開始的負數

??? 5.2.lsset:用于對待預料之外的域

??? 5.3.案例分析:主要是客戶端和服務器新舊不匹配

??? 5.4.協議/傳輸版本化

6.遠程過程調用實現:

??? 6.1.TProcessor:核心接口,有bool process(TProtocol in,TProtocol out)

??? 6.2.生成代碼:特別提示下,內部會生成相應的Client類

??? 6.3.TServer:類型有TSimpleServer,TThreadedServer和TThreadPoolServer。

?

三.其他

7.實現細節

??? 7.1.目標語言:C++,Java,Python,Ruby和PHP。

??? 7.2.生成的結構體

??? 7.3.RPC方法識別

??? 7.4.服務器和多線程:Thrift實現了自己的多線程庫

??? 7.5.線程原語:命名空間facebook::thirft::concurrency中實現了Thrift線程庫:

?????????????????????? primitives,thread pool manager,timer manager。

????????????????? boost::shared_ptr,Mutex類,Condition類和Monitor類。

????????????????? 借用Java中thread(線程對象)和runnable(線程執行邏輯)的區別的經驗。

??? 7.6.Thread,Runnable and shared_ptr

??? 7.7.ThreadManager

??? 7.8.TimerManager

??? 7.9.非阻塞操作:Thrift基于libevent和TFramedTransport。

??? 7.10.編譯器

??? 7.11.TFileTransport

8.Facebook的Thrift服務:

??? Facebook中已大量使用Thrift,包括搜索、日志、手機、廣告和開發者平臺。

9.總結:

??? 使用Thrift可以讓工程師們分而治之的將功能進行劃分并可采用合適的語言類實現,而不用在編寫重復的代碼。

《Thrift白皮書》小結


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦?。?!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 青青青国产免费手机视频在线观看 | 夜夜操网 | 日本在线一级 | 99久久国产综合精品2020 | 久久久久久久99久久久毒国产 | 加勒比一本 | 一区免费 | 97se亚洲综合| 久久国产热这里只有精品8 久久国产三级 | 国产精品久久久久一区二区 | 国产成人精品免费视频大全办公室 | 免费观看欧美精品成人毛片 | 久久99久久99精品观看 | 日本高清在线观看天码888 | 一区二区不卡不卡一卡 | 在线视频欧美精品 | 亚洲成a人片在线观看www | a久久久久一级毛片护士免费 | 韩日视频在线观看 | 麻豆亚洲| 亚洲精品在线免费 | 97影院理论片在线观看 | 久久久久久综合一区中文字幕 | 日b黄色| 中文字幕一区精品 | 香蕉视频在线观看国产 | 在线观看亚洲精品专区 | 色女人久久 | 亚洲综合五月 | 成人综合久久精品色婷婷 | 欧美日本在线一区二区三区 | 久久精品香蕉 | 欧美日韩一区二区视频免费看 | 成人欧美一级毛片免费观看 | 国产成人精品免费视频网页大全 | 91婷婷色 | aa大片成人免费网站 | 成人一级视频 | 精品欧美在线 | 亚洲欧美专区精品久久 | 日日碰 |