介绍

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。

  1. Thrift通过一个中间语言(IDL, 接口定义语言)来定义RPC的接口和数据类型
  2. 然后通过thrift的编译器生成不同目标语言的rpc框架代码
    1. 目前支持C++,Java, Python, PHP, Ruby, Erlang, Perl, Haskell, C#, Cocoa, Smalltalk和OCaml
    2. 生成的代码实现了RPC协议层和传输层。
    3. 生成的代码包括Iface(服务端必须实现的接口)
    4. 生成的代码包括Clinet(客户端必须实现的接口)
  3. 编写一个server。实现Iface接口
  4. 编写一个client。实现Client接口
  5. 然后client就可和server通信了

我们要安装的是第二步中的的thrift的编译器

安装步骤

操作系统:centos 6.5