`
jjhpeopl
  • 浏览: 109929 次
  • 性别: 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介绍与实践

    Thrift是一种开源的跨语言服务开发框架,由Facebook于2007年设计并发布,后来成为Apache软件基金会的顶级项目。它旨在通过定义一种简单的接口定义语言(IDL)来解决分布式系统之间的通信问题,允许程序员在不同的...

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

    Thrift 是一个高性能的跨语言服务开发框架,最初由 Facebook 开发并开源。它通过接口定义语言(IDL)来定义数据类型和服务,使得不同语言之间能够进行高效且可靠的通信。Thrift IDL 文件被编译成多种编程语言的代码...

    thrift的使用介绍

    Thrift是一种开源的跨语言服务开发框架,由Facebook于2007年设计并发布,其初衷是为了在不同编程语言之间提供高效、轻量级的通信机制。Thrift通过定义一种中间表示(IDL,Interface Definition Language)来描述服务...

    Thrift架构介绍.docx

    Thrift 是一个强大的跨语言服务部署框架,起源于 Facebook,并在2008年成为Apache软件基金会的开源项目。它的核心在于使用接口定义语言(IDL)来定义远程过程调用(RPC)接口和数据类型,之后通过Thrift编译器生成...

    thrift环境配置方法

    为了使用 Thrift,需要配置好相关的环境,这篇文章将介绍 Thrift 环境配置的方法。 Thrift 环境配置的重要性 ------------------------- Thrift 是一个强大的 RPC 框架,但是在使用前需要配置好相关的环境。配置...

    thrift样例操作实例

    首先,`Thrift简介.docx`可能是关于Thrift的入门文档,介绍了Thrift的概念、特点和用途。Thrift的主要特点包括高效、类型安全以及支持多种编程语言,如Java、C++、Python等。它通过定义服务接口,使得不同语言之间...

    thrift环境搭建(内附thrift运行环境可执行程序、搭建说明文本)

    在本文中,我们将详细介绍如何搭建Thrift开发环境,并提供可执行程序和搭建说明文本。 1. **下载与安装** 首先,你需要从Thrift官方网站或Apache镜像站点下载适合你操作系统的最新版本的Thrift源代码包。解压后,...

    windows环境下thrift.exe的使用

    下面我们将详细介绍Thrift.exe的安装、使用以及相关的开发过程。 首先,我们需要获取Thrift的执行文件。在这个例子中,我们有两个版本的Thrift:thrift-0.9.0.exe和thrift-0.8.0.tar.gz。`.exe`文件是Windows下的可...

    Thrift--JSClient

    1. **Thrift IDL**:介绍Thrift接口定义语言,它是如何定义服务接口和数据结构的,以及如何通过`thrift`编译器将这些定义转换为JavaScript代码。 2. **Thrift协议**:讲解Thrift的二进制传输协议,如何高效地序列化...

    thrift java build jar

    本文将详细介绍如何使用 Thrift 在 Java 环境下构建 `.jar` 文件,以便在不同的 Java 应用中使用 Thrift 生成的服务。 1. **安装 Thrift** 首先,你需要在本地安装 Thrift 编译器。访问 Thrift 官方网站...

    Thrift入门简介

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

    thrift win7 安装与使用

    本文介绍如何在Windows环境下使用Visual Studio 2010进行Thrift的安装与使用。整个安装过程将绕过Cygwin或MinGW,仅依赖于Visual Studio 2010和从Thrift官网下载的源文件。适用于thrift-0.9.1.tar.gz和thrift-0.10.0...

    thrift初级入门教程

    ### Thrift初级入门教程 #### 一、简介 Thrift 是由 Facebook 开发的一款软件库和一组代码...通过上述详细介绍,我们可以看到 Thrift 在类型系统、传输、协议、版本控制等方面的优势,以及它在实际应用中的强大功能。

    thrift vc2008版本静态库

    1. **Thrift 框架介绍**: - Thrift 是由Facebook开发并开源的,后来被Apache基金会接纳为顶级项目。 - 它最初设计用于解决内部系统间的大量数据通信问题,后来成为通用的RPC(远程过程调用)框架。 - Thrift ...

    通过thrift使用c++访问hbase

    下面将详细介绍如何在Linux和Windows系统上配置Thrift环境,以及如何使用C++通过Thrift访问HBase。 **一、Linux系统下Thrift安装** 1. **安装libevent**: 使用`./configure --prefix=/usr/local/libevent`配置,...

    thrift框架

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

    python通过thrift访问hbase.docx

    下面,我们将介绍如何使用 Python 通过 Thrift 访问 HBase。 首先,我们需要了解 HBase 的表结构。HBase 的表结构主要包括行键(Row Key)、列族(Column Family)和时间戳三个部分。行键是 HBase 中每个单元格的...

Global site tag (gtag.js) - Google Analytics