Thrift是一种接口描述语言和二进制通讯协议,它被用来定义和创建跨语言的服务。它被当作一个远程过程调用(RPC)框架来使用,是由Facebook为“大规模跨语言服务开发”而开发的[1]。
一、ubuntu系统中的thrift安装过程
(1)首先是安装准备软件
sudo apt-get install libboost-dev libboost-test-dev libboost-program-options-dev libevent-dev automake libtool flex bison pkg-config g++ libssl-dev
(2)方案一:
将thrift安装包下载下来,并解压安装[2]
tar -zxvf thrift-0.10.0.tar.gz
cd thrift-0.10.0/
./configure
sudo make
sudo make install
方案二:
直接找到thrift的二进制文件,配置path
sudo vim /etc/profile
然后在末尾添加
export PATH=$PATH:存放二进制文件的路径
(3)执行
thrift -version
如果提示没有安装
thrift-compiler
按照提示用apt安装即可。
二、thrift的使用实例
业务层:根据业务逻辑,实现thrift文件中接口[4]
接口层:根据thrift文件,生成框架代码
协议层:对数据流进行序列化(二进制、json)
传输层:负责网络传输
实例一
(1)编写.thrift结尾的文件xxx.thrift
(2)执行
thrift -r --gen 语言类型(比如java)xxx.thrift
得到其编译的对应语言类型的源文件
(3)新建一个maven项目,将源文件添加进去,也可以将源文件打成jar包,加入依赖。
(3)服务端,实现源文件定义的接口和方法,编写sever的主类文件,实现sever端的逻辑[3]
1)配置传输的阻塞方式,阻塞和非阻塞,同步方式(transport)
2)TProcessor 对象传入接口的实现类
3)定义protocol的类型(二进制等)
(4)客户端,实现客户端逻辑
1)传输的阻塞方式,同步方式(transport)
2)定义protocol的类型与服务器端相同
三、thrift语法等基础
参考官方文档http://thrift.apache.org/docs/idl
及博客https://blog.csdn.net/u011642663/article/details/56015576
四、引用
[1]百度百科 https://baike.baidu.com/item/thrift/3879058?fr=aladdin
[2]个人博客 https://blog.csdn.net/huanbia/article/details/77098205
[3]个人博客 https://blog.csdn.net/zhihaoma/article/details/70675118