Apache Thrift(服務(wù)開發(fā)框架) v0.14.4

2024-04-09發(fā)布者:zhangliang大?。?/span> 下載:0

文件大小:

軟件介紹

Apache Thrift是個高性能的跨語言服務(wù)開發(fā)框架,簡單易用,您可以用多種編程語言來開發(fā)自己的項目,靜態(tài)生成的設(shè)計讓它非常容易被開發(fā)者所使用,提高開發(fā)效率,每個Thrift文件位于其自己的名稱空間中,允許您在多個Thrift文件中使用相同的標(biāo)識符,每個Thrift文件,您也可以指定每種編程語言應(yīng)使用的名稱空間。

軟件特色

透明

節(jié)儉符合所有語言中最常見的習(xí)慣用法。

一致性

生態(tài)位,特定于語言的功能屬于擴展,而不是核心庫。

性能

力爭性能第一,優(yōu)雅第二。

軟件功能

界面描述語言

一切都在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)準或用戶定義的異常

循環(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)記值代替

軟件優(yōu)勢

1、節(jié)儉的類型

Thrift類型系統(tǒng)旨在使程序員無論使用哪種編程語言,都可以盡可能多地使用本機類型。此信息基于并且取代了Thrift白皮書中的信息。的節(jié)儉IDL提供了用于產(chǎn)生針對每個目標(biāo)語言代碼的類型的描述。

2、基本類型

選擇基本類型的目的是簡化和清楚而不是數(shù)量眾多,重點放在所有編程語言中可用的鍵類型上。

bool:布爾值(對或錯)

字節(jié):8位有符號整數(shù)

i16:16位有符號整數(shù)

i32:32位有符號整數(shù)

i64:64位有符號整數(shù)

double:64位浮點數(shù)

字符串:使用UTF-8編碼編碼的文本字符串

3、結(jié)構(gòu)

節(jié)儉結(jié)構(gòu)定義了一個公共對象–它們本質(zhì)上等同于OOP語言中的類,但沒有繼承。一個結(jié)構(gòu)具有一組強類型字段,每個字段都有一個唯一的名稱標(biāo)識符。字段可能具有Thrift IDL中描述的各種注釋(數(shù)字字段ID,可選的默認值等) 。

4、容器

節(jié)儉容器是強類型的容器,它們映射到大多數(shù)編程語言中的常用容器和常用容器類型。

共有三種容器類型:

列表:元素的有序列表。轉(zhuǎn)換為STL向量,Java ArrayList,腳本語言的本機數(shù)組等。

放:無序的唯一元素集。轉(zhuǎn)換為STL集,Java HashSet,Python中的集等。注意:PHP不支持集,因此與List相似。

map :嚴格唯一的鍵到值的映射。轉(zhuǎn)換為STL映射,Java HashMap,PHP關(guān)聯(lián)數(shù)組,Python / Ruby字典等。盡管提供了默認值,但類型映射未明確固定。添加了自定義代碼生成器指令,以允許以各種目標(biāo)語言替換自定義類型。

軟件測評

Thrift代碼簡單易用,沒有不必要的依賴關(guān)系

用戶可以在軟件上使用多種語言開發(fā)你的服務(wù)項目

結(jié)合編輯器就可以輸入代碼內(nèi)容

用戶可以設(shè)計各種編程語言支持的客戶端程序和服務(wù)端程序


軟件截圖

查看安裝過程

image.png

發(fā)表評論(共0條評論)
請自覺遵守互聯(lián)網(wǎng)相關(guān)政策法規(guī),評論內(nèi)容只代表網(wǎng)友觀點,發(fā)表審核后顯示!

版權(quán)聲明:

1 本站所有資源(含游戲)均是軟件作者、開發(fā)商投稿,任何涉及商業(yè)盈利目的均不得使用,否則產(chǎn)生的一切后果將由您自己承擔(dān)!

2 本站將不對任何資源負法律責(zé)任,所有資源請在下載后24小時內(nèi)刪除。

3 若有關(guān)在線投稿、無法下載等問題,請與本站客服人員聯(lián)系。

4 如侵犯了您的版權(quán)、商標(biāo)等,請立刻聯(lián)系我們并具體說明情況后,本站將盡快處理刪除,聯(lián)系QQ:2499894784

返回頂部