摘要:
1.前言 Thrift是一个跨语言的服务部署框架,最初由Facebook于2007年开发,2008年进入Apache开源项目。Thrift通过一个中间语言 (IDL, 接口定义语言)来定义RPC的接口和数据类型,然后通过一个编译器生成不同语言的代码(目前支持C++,Java, Python, PHP, Ruby, Erlang, Perl, Haskell, C#, Cocoa, Smalltalk和OCaml),并由生成的代码负责RPC协议层和传输层的实现。 Thrift与我曾经使用过的ICE很像。ICE是由Zeroc公司开发的网络通信引擎。ICE框架除了完成跨语言调用之外,它提供的服务发布 阅读全文
摘要:
1. 概述本文以C++语言为例介绍了thrift RPC的使用方法,包括对象序列化和反序列化,数据传输和信息交换等。本文采用了一个示例进行说明,该示例主要完成传输(上报日志或者报表)功能,该示例会贯穿本文,内容涉及thrift定义,代码生成,thrift类说明,client编写方法,server编写方法等。关于Thrift架构分析,可参考:Thrift架构介绍。关于Thrift文件编写方法,可参考:Thrift使用指南。2. 示例描述假设我们要使用thrift RPC完成一个数据传输任务,数据格式和PRC接口用一个thrift文件描述,具体如下:(1) book.thrift,用于描述书籍信息 阅读全文