thrift简介
Thrift是一个跨语言的RPC框架,最初由Facebook于2007年开发,2008年进入Apache开源项目。Thrift通过一个中间语言(IDL, 接口定义语言)来定义RPC的接口和数据类型,然后通过一个编译器生成不同语言的代码(目前支持C++,Java, Python, PHP, Ruby, Erlang, Perl, Haskell, C#, Cocoa, Smalltalk和OCaml),并由生成的代码负责RPC协议层和传输层的实现。具体的使用方法和示例请看我的另一篇文章Thrift入门教程,本文不在赘述。
thrift类概述
本系列文章主要解析thrift的源码(基于Java语言的1.0.0版本),下图是thrift主要类的继承图:
大概分为以下几个group:
- TTransport:客户端传输层协议相关的类;
- TServerTransport:服务端传输层相关的类;
- TProtocol:序列化、发序列化相关的类;
- TServer:服务器的IO事件流模型相关的类;
- TProcessor:函数,接口调用相关的类;
后面文章详细介绍各个类的作用。