Thirft是一个驱动层接口,它提供了用于客户端使用多种语言实现的API。Thrift是由Facebook开发的。
Thrift是一个代码生成库,支持的客户端语言包括C++,C#,Erlang,Haskell,Java,Objective C/Cocoa,OCaml,Perl,PHP,Python,Ruby,Smalltalk和Squeak。它的目标是为各种流行的语言提供便利的RFC调用机制,而不需要使用那些开销巨大的方式,比如SOAP。
要使用Thrift,要使用一个语言中立的服务定义文件,描述数据类型和服务接口。这个文件会被用作引擎的输入,为每种支持的语言生成RPC客户端代码库。
Thrift的设计提供了以下这些特性:语言无关的类型,通用传输接口,协议无关,支持版本。
Thrift的数据定义文件使用.Thrift扩展名。在Cassandra源码目录下,有一个目录叫interface,其中有一个文件名为cassandra.thrift。这个文件包含了Cassandra的数据定义。
要生成其他语言的Thrift绑定,可以给它传入其他的--gen开关(比如 thrift --gen php)
要编译对Thrift的Java接口,进入到目录/lib/java。在终端里键入>ant命令来运行build.xml脚本。
Thrift在Windows上使用时可能有很多错误。这是因为Thrift本身还太年轻,在传输的实现上有很多的不足,而且自从开源以来并没有得到很多直接关注,Cassandra可能会转向Avro。
阅读(2449) | 评论(0) | 转发(0) |