<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="zh-Hant-TW">
	<id>https://wiki.taigi.ima.org.tw/w/index.php?action=history&amp;feed=atom&amp;title=Thrift</id>
	<title>Thrift - 修訂紀錄</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.taigi.ima.org.tw/w/index.php?action=history&amp;feed=atom&amp;title=Thrift"/>
	<link rel="alternate" type="text/html" href="https://wiki.taigi.ima.org.tw/w/index.php?title=Thrift&amp;action=history"/>
	<updated>2026-04-09T11:31:39Z</updated>
	<subtitle>本 wiki 上此頁面的修訂紀錄</subtitle>
	<generator>MediaWiki 1.43.1</generator>
	<entry>
		<id>https://wiki.taigi.ima.org.tw/w/index.php?title=Thrift&amp;diff=489346&amp;oldid=prev</id>
		<title>TaiwanTonguesApiRobot：​從 JSON 檔案批量匯入</title>
		<link rel="alternate" type="text/html" href="https://wiki.taigi.ima.org.tw/w/index.php?title=Thrift&amp;diff=489346&amp;oldid=prev"/>
		<updated>2025-08-23T19:42:04Z</updated>

		<summary type="html">&lt;p&gt;從 JSON 檔案批量匯入&lt;/p&gt;
&lt;p&gt;&lt;b&gt;新頁面&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&amp;#039;&amp;#039;&amp;#039;Thrift&amp;#039;&amp;#039;&amp;#039;這是一種接口描述語言佮二進位通訊協議，伊予人用來定義佮創建跨語言的服務。伊予人當做一个遠逝的過程調用（RPC）框架來使用，是由 Facebook 為「大規模跨語言服務開發」開發的。伊通過一个代碼生成 ia̋n-jín 聯合一个軟體棧，來創建無仝程度的、無縫的跨平台高效服務，會用得使用 C #、C + +（是因為 POSIX 兼容系統）、 Cappuccino、Cocoa、Delphi、Erlang、Go、Haskell、Java、Node . js、OCaml、Perl、PHP、Python、Ruby 和 Smalltalk。雖然伊較早是由著 Facebook 開發的，但是伊這馬是 Apache 軟體基金會的開源項目矣。這實現予人描述佇二空空七年四月的一篇由 Facebook 發表的技術論文中，該論文現由 Apache 掌管。&lt;br /&gt;
&lt;br /&gt;
==架構==&lt;br /&gt;
&lt;br /&gt;
Thrift 包括一套完整的棧來創建客戶捀佮服務端的程序。頂層的部份是由 Thrift 定義生成的代碼。啊若服務著對這个文件客戶捀和處理器代碼生成。佇生成的代碼里會創建無仝款是內建類型的資料結構，並且共做結果共發送。協議佮傳輸層是運行時庫的一部份。有矣 Thrift，就會當定義一个服務抑是改變通訊佮傳輸協議，無需要重新編譯代碼。除了客戶捀的部份以外，Thrift 猶閣包括侍服器基礎設施來集做協議佮傳輸，如實窒起來、非常的阻窒車濟執行緒侍服器。棧中作為 I / O 基礎的部份對無仝款的語言則有無仝款的實現。&lt;br /&gt;
&lt;br /&gt;
Thrift 支持濟通訊協議：&lt;br /&gt;
&lt;br /&gt;
* TBinaryProtocol–一種簡單的二進位格式，簡單，但是無為著空間效率優化。比文本協議處理起來較緊，但是閣較歹做。&lt;br /&gt;
* TCompactProtocol–閣較絚的這款二進位的格式，處理起來通常是平懸效。&lt;br /&gt;
* TDebugProtocol–一種人類會當讀的文本格式，用來協助調試。&lt;br /&gt;
* TDenseProtocol–佮 TCompactProtocol 類似，將傳輸數據的元信息剝離。&lt;br /&gt;
* TJSONProtocol–使用 JSON 著數據編碼。&lt;br /&gt;
* TSimpleJSONProtocol–一種寫協議，伊袂使予人 Thrift 解析，因為伊使用 JSON 時擲捒元數據。適合用跤本語言來解破。&lt;br /&gt;
&lt;br /&gt;
支持的 _ 傳輸協議 _ 有：&lt;br /&gt;
&lt;br /&gt;
* TFileTransport–該傳輸協議會做文件。&lt;br /&gt;
* TFramedTransport–使用一个非阻塞侍服器的時陣，要求使用這傳輸協議。伊按照發送數據，其中每一見的開頭是長度信息。&lt;br /&gt;
* TMemoryTransport–使用存儲器影射輸入輸出。（Java 的實現使用一个簡單的 ` ByteArrayOutputStream `。）&lt;br /&gt;
* TSocket–使用窒的套接字 I / O 來傳輸。&lt;br /&gt;
* TZlibTransport–用 zlib 執行壓縮。用佇連接另外一个傳輸協議。&lt;br /&gt;
&lt;br /&gt;
Thrift 猶閣提供濟濟的侍服器，包括講：&lt;br /&gt;
&lt;br /&gt;
* TNonblockingServer–一个濟執行緒侍服器，伊使用非常的阻塞 I / O（Java 的實現使用了 NIO 巷路）。 TFramedTransport 著愛來佮這个侍服器配套使用。&lt;br /&gt;
* TSimpleServer–一个單執行緒侍服器，伊使用標準的阻塞 I / O。試的時陣真有路用。&lt;br /&gt;
* TThreadPoolServer–一个濟執行緒侍服器，伊使用標準的阻塞 I / O。&lt;br /&gt;
&lt;br /&gt;
==優點==&lt;br /&gt;
&lt;br /&gt;
Thrift 一寡已經明確的優點包括：&lt;br /&gt;
&lt;br /&gt;
* 佮一寡替代選擇，比如講 SOAP 相比並，跨語言序列化的代價閣較低，因為伊使用二進位格式。&lt;br /&gt;
* 伊有一个閣瘦閣清氣的庫，無編碼框殼，無咧 XML 配置文件。&lt;br /&gt;
* 縛定感覺足自然的。比如講，Java 使用 ` java . util . ArrayList &amp;lt; String &amp;gt; `；C + + 使用 ` std : : vector &amp;lt; std : : string &amp;gt; `。&lt;br /&gt;
* 應用層通訊格式和序列化層通訊格式是完全分離的。𪜶攏會當獨立修改。&lt;br /&gt;
* 預定義的序列化格式包括：二進位格式、著 HTTP 友好的格式，猶閣有收牢的二進位格式。&lt;br /&gt;
* 兼做跨語言文件序列化。&lt;br /&gt;
* 協議使用軟版本號機制軟體版本管理。Thrift 無要求一个中心化的和顯式的版本號機制，譬如講主版本號 / 次版本號。鬆保存的團隊會使輕鬆控制 RPC 調用的演進。&lt;br /&gt;
* 無構建依賴嘛無含非標準化的軟體。不存在無兼用的軟體許可證混用的狀況。&lt;br /&gt;
&lt;br /&gt;
==創建一个 Thrift 服務==&lt;br /&gt;
&lt;br /&gt;
Thrift 由 C + + 編寫，會當為濟濟的語言創建代碼。欲創建一个 Thrift 服務，著愛寫一寡 Thrift 文件來講伊，為目標語言生成代碼，而且閣寫一寡代碼來啟動侍服器佮對客戶捀調用伊。下跤就是一个按呢的描述文件的代碼示例：&lt;br /&gt;
&lt;br /&gt;
Thrift 欲由這个描述信息生成獨立的代碼。比如講，佇咧 Java 里，` PhoneType ` 將是 ` Phone ` 類中一个簡單的 ` enum `。&lt;br /&gt;
&lt;br /&gt;
==參見==&lt;br /&gt;
&lt;br /&gt;
* 數據序列化格式較&lt;br /&gt;
* Apache Avro&lt;br /&gt;
* ASN . 一（抽象語法標記一）&lt;br /&gt;
* Caucho 的 Hessian&lt;br /&gt;
* Google 的 Protocol Buffers&lt;br /&gt;
* 外部的數據表示法&lt;br /&gt;
* ZeroC 的 ICE&lt;br /&gt;
* SDXF（結構化數據交換格式）&lt;br /&gt;
&lt;br /&gt;
==參考文獻==&lt;br /&gt;
&lt;br /&gt;
==外部連結==&lt;br /&gt;
&lt;br /&gt;
* 官方網站（英文）&lt;br /&gt;
* Thrift：欠失的指南（英文）&lt;br /&gt;
* Thrift 狗蟻任務（英文）&lt;br /&gt;
* Thrift 教示講（英文）&lt;br /&gt;
&lt;br /&gt;
[[分類: 待校正]]&lt;/div&gt;</summary>
		<author><name>TaiwanTonguesApiRobot</name></author>
	</entry>
</feed>