Thrift是由Apache开发的一款服务开发框架,采用强大的软件堆栈和代码生成引擎,可允许用户自定义一个简单的文件中的数据类型和服务接口,快速地生成RPC客户端和服务器通信的无缝跨编程语言,需要的朋友赶快下载吧!
软件介绍
thrift最初由face book开发,07年四月开放源码,08年5月进入apache孵化器,现在是Apache基金会的顶级项目。
thrift允许你定义一个简单的定义文件中的数据类型和服务接口,以作为输入文件,编译器生成代码用来方便地生成RPC客户端和服务器通信的无缝跨编程语言。。
著名的Key-Value存储服务器Cassandra就是使用Thrift作为其客户端API的。
Apache节约软件框架,为可扩展的跨语言服务开发,结合了软件堆栈和代码生成引擎,在C++、java、Python、PHP、Ruby、Erlang、Perl、Haskell、C、Co、JavaScript等之间高效地无缝地构建服务。节点.js,Smalltalk,OCaml和Delphi等语言。
支持的协议
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。
软件评论 您的评论需要经过审核才能显示
网友评论