程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> JAVA綜合教程 >> Thrift 跨服務開發框架,thrift開發框架

Thrift 跨服務開發框架,thrift開發框架

編輯:JAVA綜合教程

Thrift 跨服務開發框架,thrift開發框架


Thrift概述

Thrift是一個軟件框架,用來進行可擴展且跨語言的服務的開發。它結合了功能強大的軟件堆棧和代碼生成引擎,以構建在 C++, Java, Python, PHP,
Ruby, Erlang, Perl, Haskell, C#, Cocoa, JavaScript, Node.js, Smalltalk, and OCaml 等等編程語言間無縫結合的、高效的服務。

代碼生成工具命令:“thrift-*.exe" -r -gen java ./*.thrift  生成 gen-java 目錄

1.服務端編碼基本步驟:

* 實現服務處理接口impl
* 創建TProcessor //讀入,寫出
* 創建TServerTransport
* 創建TProtocol
* 創建TServer
* 啟動Server

2.客戶端編碼基本步驟:

* 創建Transport
* 創建TProtocol
* 基於TTransport和TProtocol創建 Client
* 調用Client的相應方法

3.數據傳輸協議

* TBinaryProtocol : 二進制格式.
* TCompactProtocol : 壓縮格式
* TJSONProtocol : JSON格式
* TSimpleJSONProtocol : 提供JSON只寫協議, 生成的文件很容易通過腳本語言解析

4.Server

* TSimpleServer 單線程模式 測試用
* TNonblockingServer NIO selector循環監聽
* THsHaServer 它使用一個單獨的線程來處理網絡I/O,一個獨立的worker線程池來處理消息
* TThreadedSelectorServer 非阻塞,用多個線程來處理網絡I/O。它維護了兩個線程池,一個用來處理網絡I/O,另一個用來進行請求的處理
* TThreadPoolServer 采用阻塞socket方式工作,,主線程負責阻塞式監聽“監聽socket”中是否有新socket到來,業務處理交由一個線程池來處理

項目地址:https://github.com/windwant/thrifttest

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved