thrift是什么?
thrift是一套开源RPC框架,最初由facebook开发,后进入apache进行孵化。thrift最大的特点是可以实现跨语言的开发。
thrift框架结构
- ×××部分代表由thrift描述文件生成的代码
- 棕色部分和红色部分代表分别使用×××部分代码生成的客户端代码和服务器端代码
- 紫色部分和蓝色部分代表thrift运行依赖的库
thrift支持的protocols
-
TBinaryProtocol 普通二进制格式
-
TCompactProtocol 压缩二进制格式,传输效率更高
-
TJSONProtocol JSON格式
-
...
thrift支持的transports
-
TSocket 普通阻塞式I/O传输
-
TFramedTransport server采用非阻塞格式时需采用此传输,按块传输
-
...
thrift支持的服务器端类型
-
TSimpleServer 阻塞式、单线程
-
TThreadPoolServer 阻塞式、多线程
-
TNonblockingServer 非阻塞式、多线程
使用thrift进行开发(java)
-
编写thrift描述文件,如何编写并生成java代码可参考官网资料
-
通过引入生成的java代码开发服务器端和客户端程序
服务器端和客户端程序的开发需要依赖libthrift jar包,可按如下方式生成:
从官网下载最新tar包,进入解压文件下lib/java子目录下,执行ant命令即可生成libthrift jar包
服务器端、客户端开发基本步骤可参考如下链接:
http://jnb.ociweb.com/jnb/jnbJun2009.html
http://www.micmiu.com/soa/rpc/thrift-sample/
转载于:https://blog.51cto.com/boyzone/1140017