thrift简介
thrift是 Apache下的一个RPC框架,可以支持不同语言间的调用,但是想对于DUBBO而言 除了分布式协调比较弱,需要借助Zookeeper来完成外,thrift的性能要优于DUBBO.
要使用thrift首先了解一下thrfit的结构:
thrift大致分为 协议层,传输层,服务模型 三大结构。在创建Server 和Client时 Server端使用的协议和Client端使用的协议要一致,否则传输会报错。
案例驱动:环境:windows Thrfit10
需求:实现java端调用Pyhton端代码
首先需要安装Thrift ,到thrift官网下载thrift对应的版本,下行Thrifit.exe 和thrfitSource文件,将thrift.exe 配置到环境遍历下。
使用IDEA 创建一个MAVEN项目,导入thrift的相关包,安装Thrift支持插件,创建thrfit文件
eg: data.thrift
namespace java thrift.nan.demo
命名空间关键至, 要转换成的语言 包名
在文件中需要做的事:定义服务接口,定义异常,定义接口中需要用到的entity类。
运行 thrift --gen java data.thirfit (要指定好文件的路径)
thrift --gen py data.thrift 运行生成python代码
这里运行的thrift实际上就是运行的我们下载的thrift.exe文件 ,运行完毕后会在当前目录下 生成一个 gen-java 或者 gen-py的文件夹,将文件夹中的内容拷贝到项目中即可得到我们需要的框架文件。
创建的文件的内容大致分成几块:
Iface 接口 我们定义的服务接口,只不过名字换了而已。
Client 客户端实现代码
Processor 类 实现的服务端代码
在创建服务,和客户端时需要用到该类进行设置。
下一篇介绍 thrift的语法