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

Thrift版本:0.9.2

在编译支持golang时,依赖gomock,makefile中gomock的包地址是google code(墙外),更改为github即可。

thrift-0.9.2/test/go/Makefile

559         #GOPATH=`pwd` $(GO) get code.google.com/p/gomock/gomock
560         GOPATH=`pwd` $(GO) get github.com/rafrombrc/gomock/gomock 579         #GOPATH=`pwd` $(GO) install code.google.com/p/gomock/mockgen
580         GOPATH=`pwd` $(GO) install github.com/rafrombrc/gomock/mockgen

thrift-0.9.2/test/go/src/common/mock_handler.go


25 import (
26         //gomock "code.google.com/p/gomock/gomock"
27         gomock "github.com/rafrombrc/gomock/gomock"
28         thrifttest "gen/thrifttest"
29 )

Thrift一些参考资料:

框架介绍:http://dongxicheng.org/search-engine/thrift-framework-intro/

使用指南:http://dongxicheng.org/search-engine/thrift-guide/

RPC编程:http://dongxicheng.org/search-engine/thrift-rpc/

04-16 13:39