码迷,mamicode.com
首页 > 其他好文 > 详细

thrift

时间:2015-09-22 23:48:41      阅读:622      评论:0      收藏:0      [点我收藏+]

标签:

基本类型

bool :布尔类型( true or value),占一个字节

byte:有符号字节

i16:16位有符号整型

i32:32位有符号整型

i64:64位有符号整型

double :64位浮点数

string:未知编码或者二进制的字符串

注意,thrift不支持无符号整型,因为很多目标语言不存在无符号整型(如java)。

支持的传输格式

    * TBinaryProtocol : 二进制编码格式进行数据传输。
    * TCompactProtocol : 这种协议非常有效的,使用Variable-Length Quantity (VLQ) 编码对数据进行压缩。
    * TJSONProtocol使用JSON的数据编码协议进行数据传输。
    * TSimpleJSONProtocol这种节约只提供JSON只写的协议,适用于通过脚本语言解析
    * TDebugProtocol  :  在开发的过程中帮助开发人员调试用的,以文本的形式展现方便阅读。

传输层

    * TSocket使用堵塞式I/O进行传输,也是最常见的模式。
    * TFramedTransport
使用非阻塞方式,按块的大小,进行传输,类似于Java中的NIO
    * TFileTransport
顾名思义按照文件的方式进程传输,虽然这种方式不提供Java的实现,但是实现起来非常简单。
    * TMemoryTransport :  
使用内存I/O,就好比Java中的ByteArrayOutputStream实现。
    * TZlibTransport
使用执行zlib压缩,不提供Java的实现。

服务端类型

    * TSimpleServer : 单线程服务器端使用标准的堵塞式I/O
    * TThreadPoolServer : 
多线程服务器端使用标准的堵塞式I/O
    * TNonblockingServer :
 多线程服务器端使用非堵塞式I/O,并且实现了Java中的NIO通道

 TransportTransport层提供了一个简单的网络读写抽象层。这使得thrift底层的transport从系统其它部分(如:序列化/反序列化)解耦。

thrift

标签:

原文地址:http://my.oschina.net/u/563488/blog/509791

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!