Thrift初施用Erlang+cpp

Thrift初使用Erlang+cpp

   ************写在最前面************

    个人比较喜欢Thrift,它可以高效的解决不同编程语言之间的交互问题,使不同编程语言可以很轻松地进行交互,完成软件抑或是系统的架构。

    Thrift是一个跨语言的服务部署框架,最初由Facebook于2007年开发,2008年进入Apache开源项目。Thrift通过一个中间语言(IDL, 接口定义语言)来定义RPC的接口和数据类型,然后通过一个编译器生成不同语言的代码(目前支持C++,Java, Python, PHP, Ruby, Erlang, Perl, Haskell, C#, Cocoa, Smalltalk和OCaml),并由生成的代码负责RPC协议层和传输层的实现。

    Facebook使用的几种不同的语言和不同的services。 PHP是最终用于前端,Erlang是用于聊天,Java和C ++也使用于多种场所,也许还有其他语言。Thrift是一个内部开发的跨语言的框架,联系语言,使他们可以在一起合作,从而使他们之间可以交互。 这使得Facebook可以更容易为继续保持其跨语言的发展。

 Facebook已经让Thrift开源。更多的语言支持已被添加到Thrift。

   Thrift的框架介绍,可以详见董的博客 

    http://dongxicheng.org/search-engine/thrift-framework-intro/

 

    小弟就不在此谈论了。

 

***Thrift的安装***

 

1、安装环境

      可以在Linux、win下进行安装,当然在win环境下安装时,需要在win安装相应的插件

      在Linux下安装前,需要确保操作系统中有相应的语言编译器,如gcc、g++、erl等,根据自己的需要进行安装

2、获取安装包

      我用的是thrift-0.2.0-incubating.tar.gz版本,有更高的版本可根据自己的需要下载

3、安装

     1、解压

      这一步,习惯Linux的人群,都应该不陌生

       tar zxvf thrift-0.2.0-incubating.tar.gz

     2、./bootstrap.sh

     3、编译

        ./configure(时间不是很长)

    4、make(时间稍微有点长)

    5、install 

      这一步需要有超级用户的权限

      sudo make install 

4、安装完成之后,输入thrift之后,如果出现thrift的输入帮助,就说明,thrift已经安装成功

 

***Thrift简单使用***

 

以CPP和Erlang交互编程为例

 

1、进入/thrift-0.2.0/tutorial文件

2、启动Erlang服务器

      thrift -r -gen erl  tutorial.thrift

     编译成功之后,就会出现gen-erl文件夹

    进入erl文件夹,启动./server.sh

    进入erl shell中,输入命令server:start().至此,erlang服务器端已经启动

3、启动CPP客户端

    进入cpp文件夹

    使用make进行编译

    ./CppClient 启动cpp客户端

4、出现计算结果后,表明,erlang和cpp的交互编程已经成功。

 

ps:要确保服务器端和客户端的socket端口一致