编译Thrift支持golang

本文已经是很久以前的文章了,也不知道新版本thrift如何

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/

posted on 2017-12-21 10:41  angry-baby  阅读(705)  评论(0编辑  收藏  举报

导航