Apache Thrift(服務開發框架)

文章頻道 軟件下載 安卓下載 蘋果下載

當前位置:首頁軟件下載編程開發 → Apache Thrift(服務開發框架) v0.14.1官方版
Apache Thrift(服務開發框架)

Apache Thrift(服務開發框架)v0.14.1官方版

Apache Thrift(服務開發框架)最新版下載評分:3.9
下載地址
  • 軟件介紹
  • 軟件截圖
  • 猜你喜歡
  • 同類推薦
  • 相關文章

Thrift是由Apache開發的一款服務開發框架,采用強大的軟件堆棧和代碼生成引擎,可允許用戶自定義一個簡單的文件中的數據類型和服務接口,快速地生成RPC客戶端和服務器通信的無縫跨編程語言,需要的朋友趕快下載吧!

【軟件介紹】

Apache Thrift是一個跨語言的服務框架,本質上為RPC,同時具有序列化、反序列化機製;當我們開發的service需要開放出去的時候,就會遇到跨語言調用的問題,JAVA語言開發了一個UserService用來提供獲取用戶信息的服務,如果服務消費端有PHP/Python/C++等,我們不可能為所有的語言都適配出相應的調用方式,有時候我們會很無奈的使用Http來作為訪問協議;但是如果服務消費端不能使用HTTP,而且更加傾向於以操作本地API的方式來使用服務,那麼我們就需要Thrift來提供支持.

【軟件優勢】

  1、節儉的類型

  Thrift類型係統旨在使程序員無論使用哪種編程語言,都可以盡可能多地使用本機類型。此信息基於並且取代了Thrift白皮書中的信息。的節儉IDL提供了用於產生針對每個目標語言代碼的類型的描述。

  2、基本類型

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

  bool:布爾值(對或錯)

  字節:8位有符號整數

  i16:16位有符號整數

  i32:32位有符號整數

  i64:64位有符號整數

  double:64位浮點數

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

  3、結構

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

  4、容器

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

  共有三種容器類型:

  列表:元素的有序列表。轉換為STL向量,Java ArrayList,腳本語言的本機數組等。

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

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

【軟件特色】

  Apache Thrift是一個軟件項目,涉及多種編程語言和用例。我們的目標是使跨語言的可靠,高性能的通信和數據序列化盡可能高效和無縫。Thrift於2007年4月開源,並於2008年5月進入Apache孵化器。Thrift於2010年10月成為Apache TLP。

  Apache Thrift旨在體現以下價值觀:

  簡單性 Thrift代碼簡單易用,沒有不必要的依賴關係。

  透明 節儉符合所有語言中最常見的習慣用法。

  一致性 生態位,特定於語言的功能屬於擴展,而不是核心庫。

  性能 力爭性能第一,優雅第二。

【使用說明】

1、客戶過程以正常方式調用客戶樁(client stub,一段代碼);

2、客戶樁生成一個消息,然後調用本地操作係統;

3、客戶端操作係統將消息發送給遠程操作係統;

4、遠程操作係統將消息交給服務器樁(server stub,一段代碼);

5、服務器樁將參數提取出來,然後調用服務器過程;

6、服務器執行要求的操作,操作完成後將結果返回給服務器樁;

7、服務器樁將結果打包成一個消息,然後調用本地操作係統;

8、服務器操作係統將含有結果的消息發送回客戶端操作係統;

9、客戶端操作係統將消息交給客戶樁;

10、客戶樁將結果從從消息中提取出來,返回給調用它的客戶過程;

【功能介紹】

  Apache Thrift功能:

  界麵描述語言-一切都在IDL文件中指定,可以從該文件生成多種語言的綁定。

  語言綁定-許多語言和環境都支持Thrift

  C++

  C#

  Cocoa

  D

  Delphi

  Erlang

  Haskell

  Java

  OCaml

  Perl

  PHP

  Python

  Ruby

  Smalltalk

  ~名稱空間-每個Thrift文件位於其自己的名稱空間中,允許您在多個Thrift文件中使用相同的標識符

  語言名稱空間-每個Thrift文件,您可以指定每種編程語言應使用的名稱空間

  基本類型-Thrift有少量的基本類型。

  常量和枚舉-可以為常量值分配邏輯名稱

  結構-使用結構對相關數據進行分組。結構可以具有任何類型的字段。

  稀疏結構-尚未設置的可選基本字段和為空的參考字段將不會通過電線發送

  結構演化-通過使用字段的整數標識符來處理字段的添加和刪除,而不會破壞現有的客戶端

  容器-您可以使用任何類型的集,列表和映射:基本類型,結構和其他容器。

  類型定義-可以給任何類型一個更好地描述它的名稱

  服務-服務是一組功能

  服務繼承-子服務實現其基本服務的所有功能,並且可以具有其他功能

  異步調用-可以異步調用不返回結果的函數,因此在服務器完成對請求的處理之前,不會阻塞客戶端。服務器可以並行/無序執行同一客戶端的異步調用

  異常-如果發生錯誤,則函數可以引發標準或用戶定義的異常

  循環結構-從0.9.2版開始,Thrift支持包含自身的結構或以後要聲明的其他結構。

  非功能

  Apache Thrift不支持以下功能:

  struct繼承-改用struct組合

  多態-由於沒有繼承,因此也不支持多態

  重載-服務中的所有方法都必須唯一地命名

  異構容器-容器中的所有物品都必須是同一類型

  空返回-無法直接從函數返回空。使用包裝器結構或標記值代替

【支持協議】

Thrift支持眾多通訊協議:

TBinaryProtocol – 一種簡單的二進製格式,簡單,但沒有為空間效率而優化。比文本協議處理起來更快,但更難於調試。

TCompactProtocol – 更緊湊的二進製格式,處理起來通常同樣高效。

TDebugProtocol – 一種人類可讀的文本格式,用來協助調試。

TDenseProtocol – 與TCompactProtocol類似,將傳輸數據的元信息剝離。

TJSONProtocol – 使用JSON對數據編碼。

TSimpleJSONProtocol – 一種隻寫協議,它不能被Thrift解析,因為它使用JSON時丟棄了元數據。適合用腳本語言來解析。

支持的傳輸協議有:

TFileTransport – 該傳輸協議會寫文件。

TFramedTransport – 當使用一個非阻塞服務器時,要求使用這個傳輸協議。它按幀來發送數據,其中每一幀的開頭是長度信息。

TMemoryTransport – 使用存儲器映射輸入輸出。(Java的實現使用了一個簡單的ByteArrayOutputStream。)

TSocket – 使用阻塞的套接字I/O來傳輸。

TZlibTransport – 用zlib執行壓縮。用於連接另一個傳輸協議。

Thrift還提供眾多的服務器,包括:

TNonblockingServer – 一個多線程服務器,它使用非阻塞I/O(Java的實現使用了NIO通道)。TFramedTransport必須跟這個服務器配套使用。

TSimpleServer – 一個單線程服務器,它使用標準的阻塞I/O。測試時很有用。

TThreadPoolServer – 一個多線程服務器,它使用標準的阻塞I/O。

展開內容

軟件截圖

  • Apache Thrift(服務開發框架)v0.14.1官方版

下載地址

  • PC版

同類推薦

相關文章

感謝速聯科技、八度網絡、九九數據、億恩科技、群英網絡讚助部分帶寬!

關於本站 | 聯係方式 | 版權聲明 | 下載幫助(?) | 網站地圖

Copyright 2002-2020 95262.com 【數碼資源網】 版權所有 粵ICP備2020128507號-1

本站所有軟件來自互聯網,版權歸原著所有。如有侵權,敬請來信告知 ,我們將及時撤銷。