【文件属性】:
文件名称:thrift初步了解
文件大小:2KB
文件格式:TXT
更新时间:2016-11-08 20:10:50
thrift
简介:
thrift是跨语言,server和client通信的一个框架,支持多种协议,二进制,文本http,json等方式,提供高效的数据传输方式。
thrift只负责对数据进行处理,然后在网络内进行传输的工作。不要认为thrift能在*.thrift文件中定义调度之类的工作
thrift通过IDL(接口描述语言)来生成各种语言需要的接口代码。
执行thrift文件命令:
java:thrift-0.9.1.exe --gen java test.thrift
java:thrift-0.9.1.exe --gen php test.thrift
生成使用thrift需要的jar包:
下载Ant后, 配置环境变量, ANT_HOME=Ant解压路径。
下载thrift后使用ant编译需要的jar文件。<<
cmd, 进入build.xml目录, ant -buildfile build.xml
thrift协议protocol:
TBinaryProtocol:二进制格式
TCompactProtocol:高效压缩的二进制格式
TDenseProtocol:与TCompactProtocol相比,meta信息略有不同
TJSONProtocol JSON
TDebugProtocol text 格式 方便调试
thrift传输层transport:
TSocket 阻塞的io
TFramedTransport 非阻塞io
TFileTransport 可以将一组thrift请求写到文件中
TMemoryTransport 使用内存 I/O
TZlibTransport 使用zlib压缩
支持的server
TSimpleServer 单线程 阻塞
TThreadPoolServer 多线程 阻塞
TNonblockingServer 多线程 非阻塞
THsHaServer api说是TNonblockingServer的扩展,半同步半异步
可定义的数据类型:
基本类型:
bool:布尔值,true 或 false,对应 Java 的 boolean
byte:8 位有符号整数,对应 Java 的 byte
i16:16 位有符号整数,对应 Java 的 short
i32:32 位有符号整数,对应 Java 的 int
i64:64 位有符号整数,对应 Java 的 long
double:64 位浮点数,对应 Java 的 double
string:未知编码文本或二进制字符串,对应 Java 的 String
结构体类型:
struct:定义公共的对象,类似于 C 语言中的结构体定义,在 Java 中是一个 JavaBean
容器类型:
list:对应 Java 的 ArrayList
set:对应 Java 的 HashSet
map:对应 Java 的 HashMap
异常类型:
exception:对应 Java 的 Exception
服务类型:
service:对应服务的类
网友评论
- 34253425432