读书人

Thrift初施用Erlang+cpp

发布时间: 2012-06-26 10:04:13 作者: rapoo

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端口一致

?

?

读书人网 >开源软件

热点推荐