Thirft框架介绍
1.thrift 概述
Thrift是Apache下的一个子项目,最早是Facebook的项目,后来Facebook提供给Apache作为开源项目,在官网上,Thrift被描述为“Scalable Cross-Language Services Implementation”,说的通俗一些,Thrift具有以下特征:
1)它有自己的跨机器的通信框架,并提供一套库。
2)它是一个代码生成器,按照它的规则,可以生成多种编程语言的通讯过程代码。
3)支持多种语言之间通信(目前支持C++,Java, Python, PHP, Ruby, Erlang, Perl, Haskell, C#, Cocoa, Smalltalk和OCaml)
2.支持的数据传输格式、数据传输方式和服务模型
(1)支持的传输格式
TBinaryProtocol – 二进制格式.
TCompactProtocol – 压缩格式
TJSONProtocol – JSON格式
TSimpleJSONProtocol –提供JSON只写协议, 生成的文件很容易通过脚本语言解析。
TDebugProtocol – 使用易懂的可读的文本格式,以便于debug
(2) 支持的数据传输方式
TSocket -阻塞式socker
TFramedTransport – 以frame为单位进行传输,非阻塞式服务中使用。
TFileTransport – 以文件形式进行传输。
TMemoryTransport – 将内存用于I/O. java实现时内部实际使用了简单的ByteArrayOutputStream。
TZlibTransport – 使用zlib进行压缩, 与其他传输方式联合使用。当前无java实现。
(3)支持的服务模型
TSimpleServer – 简单的单线程服务模型,常用于测试
TThreadPoolServer – 多线程服务模型,使用标准的阻塞式IO。
TNonblockingServer – 多线程服务模型,使用非阻塞式IO(需使用TFramedTransport数据传输方式)
【参考】
http://dongxicheng.org/search-engine/thrift-framework-intro/
相关推荐
简要介绍了thrift框架的原理及使用方法,附带一个搭建thrift工程的例子。
Golang通过Thrift框架完美实现跨语言调用
Thrift框架分析.pdf
这是对Facebook开源框架Thrift的分享,并且附有示例代码。
基于Thrift框架RPC的研究与实现_田翠珍.pdf
压缩包中包含四个文件,libthrift-0.9.1.jar,slf4j-api-1.7.12.jar,demoHello.thrift,thrift-0.9.3.exe.使用方法将前两个包导入到项目中。然后将后两个文件放在同一个目录,在控制台中执行如下命令thrift-0.9.3.exe ...
Thrift RPC客户端的服务化框架代码,
基于Thrift框架的数据交换方案_梁明炯.pdf
技术分享:Java通过Thrift框架实现通讯的示例代码
thrift框架示例,thrift框架客户端代码。 开发平台MyEclipse 9
thrift框架在linux下编译,实现双向通信demo,thrift使用的是0.9.3版本,编译后通过自己编写的demo实现客户端服务端的双向通信。已完成编译,源码也在里面,需要libevent和boost库以及openssl库,这些三方库自己下载...
thrift框架通过vs2013编译好的静态库,然后通过vs2013实现双向通信代码,通信协议利用openssl加密证书的方式来实现,本资源给出了完整的实现代码,证书可以在网上百度一下,看看如何生成客户端和服务端的,然后编译...
thrift框架使用的0.9.3版本,将其在windows平台上编译,对vs2008和vs2013都实现了编译,且对这两个平台的双向通信demo也实现了编译,源码就在压缩包里面。需要libevent和boost库以及openssl库,这些三方库自己下载...
Thrift是一个跨语言的服务部署框架,最初由Facebook于2007年开发,2008年进入Apache开源项目。Thrift通过一个中间语言(IDL, 接口定义语言)来定义RPC的接口和数据类型,然后通过一个编译器生成不同语言的代码(目前...
Thrift双向通讯java代码
thrift源码thrift源码thrift源码thrift源码thrift源码thrift源码thrift源码thrift源码thrift源码thrift源码thrift源码thrift源码thrift源码thrift源码thrift源码thrift源码thrift源码thrift源码thrift源码thrift源码...
这是Apache Thrift框架的一个简单示例,用于在多语言环境中进行远程服务调用。不要积分啊,旨在进行技术交流。邮箱:whdsmile@163.com,欢迎来信!
thrift是一种可伸缩的跨语言服务的发展软件框架。它结合了功能强大的软件堆栈的代码生成引擎,以建设服务,工作效率和无缝地与C + +,C#,Java,Python和PHP和Ruby结合。thrift是facebook开发的,我们现在把它作为...
Apache Thrift——可伸缩的跨语言服务开发框架
HARPC(High Availability RPC)是基于Thrift的跨语言、高可用的RPC框架。具备高性能、高可用、轻量级等特点 * 跨语言通信 * 方便的使Java、Python、C++三种程序可以相互通信 * 负载均衡和容灾处理 * 方便的实现...