Apache Thrift官方版是一款在編程開發(fā)時會使用到的服務(wù)開發(fā)框架,我們可以通過Apache Thrift來輸入代碼內(nèi)容。然后就可以完成客戶端程序和服務(wù)端程序的開發(fā)工作了。
Apache Thrift是一個軟件項目,涉及多種編程語言和用例。我們的目標(biāo)是使跨語言的可靠,高性能的通信和數(shù)據(jù)序列化盡可能高效和無縫。Thrift于2007年4月開源,并于2008年5月進入Apache孵化器。Thrift于2010年10月成為Apache TLP。
Apache Thrift旨在體現(xiàn)以下價值觀:
簡單性 Thrift代碼簡單易用,沒有不必要的依賴關(guān)系。
透明 節(jié)儉符合所有語言中最常見的習(xí)慣用法。
一致性 生態(tài)位,特定于語言的功能屬于擴展,而不是核心庫。
性能 力爭性能第一,優(yōu)雅第二。
Apache Thrift功能:
界面描述語言-一切都在IDL文件中指定,可以從該文件生成多種語言的綁定。
語言綁定-許多語言和環(huán)境都支持Thrift
C++
C#
Cocoa
D
Delphi
Erlang
Haskell
Java
OCaml
Perl
PHP
Python
Ruby
Smalltalk
~名稱空間-每個Thrift文件位于其自己的名稱空間中,允許您在多個Thrift文件中使用相同的標(biāo)識符
語言名稱空間-每個Thrift文件,您可以指定每種編程語言應(yīng)使用的名稱空間
基本類型-Thrift有少量的基本類型。
常量和枚舉-可以為常量值分配邏輯名稱
結(jié)構(gòu)-使用結(jié)構(gòu)對相關(guān)數(shù)據(jù)進行分組。結(jié)構(gòu)可以具有任何類型的字段。
稀疏結(jié)構(gòu)-尚未設(shè)置的可選基本字段和為空的參考字段將不會通過電線發(fā)送
結(jié)構(gòu)演化-通過使用字段的整數(shù)標(biāo)識符來處理字段的添加和刪除,而不會破壞現(xiàn)有的客戶端
容器-您可以使用任何類型的集,列表和映射:基本類型,結(jié)構(gòu)和其他容器。
類型定義-可以給任何類型一個更好地描述它的名稱
服務(wù)-服務(wù)是一組功能
服務(wù)繼承-子服務(wù)實現(xiàn)其基本服務(wù)的所有功能,并且可以具有其他功能
異步調(diào)用-可以異步調(diào)用不返回結(jié)果的函數(shù),因此在服務(wù)器完成對請求的處理之前,不會阻塞客戶端。服務(wù)器可以并行/無序執(zhí)行同一客戶端的異步調(diào)用
異常-如果發(fā)生錯誤,則函數(shù)可以引發(fā)標(biāo)準(zhǔn)或用戶定義的異常
循環(huán)結(jié)構(gòu)-從0.9.2版開始,Thrift支持包含自身的結(jié)構(gòu)或以后要聲明的其他結(jié)構(gòu)。
非功能
Apache Thrift不支持以下功能:
struct繼承-改用struct組合
多態(tài)-由于沒有繼承,因此也不支持多態(tài)
重載-服務(wù)中的所有方法都必須唯一地命名
異構(gòu)容器-容器中的所有物品都必須是同一類型
空返回-無法直接從函數(shù)返回空。使用包裝器結(jié)構(gòu)或標(biāo)記值代替
1贛教云教學(xué)通2.0-贛教云教學(xué)通2.0下載 v5......
2step7 microwin-西門子PLC S7......
3百度網(wǎng)盤清爽精簡純凈版-網(wǎng)盤工具-百度網(wǎng)盤清爽精......
4360安全瀏覽器-瀏覽器-360安全瀏覽器下載 ......
5谷歌瀏覽器 XP版-谷歌瀏覽器 XP版-谷歌瀏覽......
6Kittenblock重慶教育專用版-機器人編程......
7seo外鏈助手(超級外鏈) -SEO外鏈優(yōu)化工具......
8小米運動刷步數(shù)神器-小米運動刷步數(shù)神器下載 v2......