`
jjhpeopl
  • 浏览: 108650 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Thrift介绍

阅读更多

来了一个新公司,这家公司不再使用以前的dubbo RPC框架,改用Thrift框架了。经过一段时间的学习,发现Thrift比dubbo支持的语言更多,其他方面感觉并不比dubbo强多少。在这里不过多讨论两者的区别,有兴趣的读者可以留言一起讨论。

thrift是IDL(interface definition language)描述性语言的一个具体实现,根据IDL编写的文件可以使用thrift命令生成相应的代码。

 

1、数据基本类型

  • bool:布尔值,true or false,对应java的boolean
  • byte:8位有符号整数,对应java的byte
  • i16:16位有符号整数,对应java的short
  • i32:32位有符号整数,对应java的int
  • i64:64位有符号整数,对应java的long
  • double:64位浮点数,对应java的double
  • string:utf-8编码的字符串,对应java的String

2、结构体类型

  • struct:定义公共的对象,类似C语言中的结构体定义,对应java的JavaBean

3、容器类型

  • list:对应java的ArrayList
  • set:对应java的HashSet
  • map:对应java的HashMap

4、异常类型

  • exception:对应java的Exception

5、服务类型

  • service:对应服务的类

7、传输协议

  • TBinaryProtocol:二进制编码格式进行数据传输
  • TCompactProtocol:使用VLQ编码对数据进行压缩
  • TJSONProtocol:使用json的数据编码协议进行数据传输
  • TSimpleJSONProtocol:只提供json只写的协议,适用于通过脚本语言解析
  • TDebugProtocol:在开发过程中帮助开发人员调试使用的,以文本的形式展示方变查看

8、传输层

  • TSocket:使用阻塞式IO传输
  • TFramedTransport:使用非阻塞式传输,以块的形式传输,类似于java的NIO传输
  • TFileTransport:按文件形式的传输
  • TMemoryTransport:使用内存IO
  • TZlibTransport:使用Zlib压缩传输

9、服务端类型

  • TSimpleServer:单线程,使用阻塞式IO
  • TThreadPoolServer:多线程,使用阻塞式IO
  • TNonblockingServer:多线程,使用非阻塞式IO

thrift一些实现的例子可以查看代码https://github.com/jjhpeopl/thriftTest.git

0
0
分享到:
评论
1 楼 61308519 2016-09-09  
thrift仅仅只是一个通讯而已,一个点一个面的关系

相关推荐

    thrift介绍、各种server的比较、多接口服务实现

    thrift特性、不支持的特性、对各个语言的支持情况、语法参考、Thrift 架构、协议、传输层、服务端类型、各种thriftServer实现的比较、Thrift对多接口服务的支持

    thrift介绍与实践

    NULL 博文链接:https://leign.iteye.com/blog/1055627

    thrift学慢Demo

    我的thrift介绍与学习中的示例程序。

    Thrift架构介绍.docx

    Thrift是一个跨语言的服务部署框架,最初由Facebook于2007年开发,2008年进入Apache开源项目。Thrift通过一个中间语言(IDL, 接口定义语言)来定义RPC的接口和数据类型,然后通过一个编译器生成不同语言的代码(目前...

    Thrift入门简介

    通俗简单的介绍了什么是thrift,适用于thrift或RPC扫盲。

    thrift的使用介绍

    NULL 博文链接:https://gemantic.iteye.com/blog/1199214

    thrift框架

    简要介绍了thrift框架的原理及使用方法,附带一个搭建thrift工程的例子。

    thrift白皮书(中文版)

    中文版,介绍thrift的设计目的,设计原理以及其基本结构。

    93个netty高并发教学视频下载.txt

    17_Protobuf使用最佳实践与Apache Thrift介绍;18_Apache Thrift应用详解与实例剖析;19_Apache Thrift原理与架构解析;20_通过Apache Thrift实现Java与Python的RPC调用;21_gRPC深入详解 ;22_gRPC实践 ;23_Gradle...

    Apache Thrift 使用说明

    详细介绍了Apache Thrift在Ubuntu以及Windows下基于C++和Java语言的安装和运行。附有小例子,亲自测试通过。所述方法网上应该有教程,但大多零散不统一或者不完整,因此本人整理了一份,特来分享。

    thrift-zookeeper-rpc

    对于Thrift服务化的改造,主要是客户端,可以从如下几个方面进行: 1.服务端的服务注册,客户端自动发现,无需手工修改配置,这里我们使用zookeeper,但由于zookeeper本身提供的客户端使用较为复杂,因此采用curator...

    Thrift : the missing guide(中文版)

    翻译过后的Thrift : the missing guide,主要是一些Thrift概念的介绍和一些注意事项

    Thrift接口查询、Scan过滤器

    1 HBase分享六、Thrift接口查询、Scan过滤器 1.1 依据行键和列族过滤 1.2 据行键开始、行键结束和列族过滤 1.3 通过行键前缀进行查询 1.4 查找在当前指定时间之前且大于等于startRowKey行键记录; 1.5 查找在当前...

    精通并发与netty视频教程(2018)视频教程

    17_Protobuf使用最佳实践与Apache Thrift介绍 18_Apache Thrift应用详解与实例剖析 19_Apache Thrift原理与架构解析 20_通过Apache Thrift实现Java与Python的RPC调用 21_gRPC深入详解 22_gRPC实践 23_Gradle Wrapper...

    精通并发与 netty 视频教程(2018)视频教程

    14_Protobuf完整实例详解 15_Protobuf集成Netty与多协议消息传 递 16_Protobuf多协议消息支援与工程最佳实践 17_Protobuf使用最佳实践与Apache Thrift介绍 18_Apache Thrift应用详解与实例剖析 19_Apache Thrift原理...

    精通并发与netty 无加密视频

    第17讲:Protobuf使用最佳实践与Apache Thrift介绍 第18讲:Apache Thrift应用详解与实例剖析 第19讲:Apache Thrift原理与架构解析 第20讲:通过Apache Thrift实现Java与Python的RPC调用 第21讲:gRPC深入详解 ...

    节俭:Apache节俭

    介绍 Thrift是用于点对点RPC实现的轻型,独立于语言的软件堆栈。 Thrift为数据传输,数据序列化和应用程序级处理提供了干净的抽象和实现。 代码生成系统采用一种简单的定义语言作为输入,并跨编程语言生成代码,这些...

    ThriftBook:《 Apache Thrift程序员指南》中示例的源代码

    Apache Thrift程序员指南以下示例中的源代码:Apache Thrift程序员指南 本书分为三个部分:第一部分-Apache Thrift概述对Apache Thrift及其体系结构的高级介绍。 这部分的例子非常有趣。 本部分还介绍了基本的Apache...

Global site tag (gtag.js) - Google Analytics