==== 介绍 ==== Thrift是一个软件框架,用于支持可扩展的跨语言服务的开发,它无缝的与C++,Java,Python,PHP,Ruby,Erlang, Perl, Haskell, C#, Cocoa, JavaScript, Node.js, Smalltalk,以及OCaml等语言结合。它起初是由Facebook开发的,后来开源到Apache Incubator。Thrift支持对象序列化/反序列化以及RPC服务编写。 说白了thrift就是一个跨语言的rpc调用。通过thrift编译器,用一个按thrift语法格式定义的文件,生成多种目标语言的rpc框架。 因为跨语言,所以我们可以选择一个拿手或合适语言编写server段。然后用任意语言编写client。 **thrift的工作流大致如下** - Thrift通过一个中间语言(IDL, 接口定义语言)来定义RPC的接口和数据类型 - 然后通过thrift的编译器生成不同目标语言的rpc框架代码 - 目前支持C++,Java, Python, PHP, Ruby, Erlang, Perl, Haskell, C#, Cocoa, Smalltalk和OCaml - 生成的代码实现了RPC协议层和传输层。 - 生成的代码包括Iface(服务端必须实现的接口) - 生成的代码包括Clinet(客户端必须实现的接口) - 编写一个server。实现Iface接口 - 编写一个client。实现Client接口 - 然后client就可和server通信了 我们要安装的是第二步中的的thrift的编译器 ==== 安装步骤 ==== 操作系统:centos 6.5 * 安装依赖 yum -y install automake libtool flex bison pkgconfig gcc-c++ boost-devel libevent-devel zlib-devel python-devel ruby-devel openssl-devel * 普通列表项目下载Thrift的软件包,并解压缩: wget http://apache.fayea.com/thrift/0.9.2/thrift-0.9.2.tar.gz tar zxvf thrift-0.9.2.tar.gz cd thrift-0.9.2 ./configure make && make install # 默认安装到 /usr/local/bin/thrift ,所以不需要额外设置PATH * 测试是否安装成功 thrift -version Thrift version 0.9.2