应用场景
使用不同语言编写的应用程序需要彼此之间相互通讯。
第一种方法是使用REST API,但是当传输二进制数据时,这种方式在性能上达不到要求。
第二种方法,使用apache thrift。
thrift的工作方式
主要的概念是service
,可以理解为是面向对象中的类,每个service有方法methods
和数据类型。
service只能是单继承。
步骤1:service
在apache thrift document文件中定义,使用IDL书写。
步骤2:使用thrift compiler编译apache thrift document文件,生成服务端和客户端的桩代码,我们通过在其中填空的方式实现我们的服务端和客户端代码。
步骤:
- 构思service可能具有的methods;
- 使用IDL编写Apache Thrift Document文件;
- 使用Apache Thrift compiler编译document文件,生成服务端和客户端代码;
服务端和客户端两端,在传输层传输数据,数据的协议/格式目前应用最多的是binary,compact或者是JSON格式,不管是什么格式的协议都必须保证服务端和客户端的协议相同,才可以进行数据的编码和解码。
安装和使用
需要安装apache thrift的编译器和库:Linux:sudo apt-get install thrift
。