Thrift介绍

Thrift 是Apache下的可扩展,跨语言软件框架,可以无缝连接C++, Java, Python, PHP, Ruby, Erlang, Perl, Haskell, C#, Cocoa, JavaScript, Node.js, Smalltalk, OCaml Delphi等其他语言

目前最新版本: 0.11.0 (released on 2017-DEC-07).

Maven依赖:

<dependency>
  <groupId>org.apache.thrift</groupId>
  <artifactId>libthrift</artifactId>
  <version>0.11.0</version>
</dependency>

官方网站: http://thrift.apache.org/

git路径: git clone https://github.com/apache/thrift.git

安装

1. 安装Thrift

2. 安装Thrift编译器, 用于自动生成服务器端与客户端的源码

3.编写 接口定义 .thrift文件, 接口定义文件中包含 类型定义 和服务接口定义

4. 生成server, client 的源码  thrift --gen <language> <Thrift filename>

Thrift Types

Thrifty type 基本使用各种语言的基础抽象类型, Thrift IDL详细介绍了各种语言的对应Thrift 类型

基础类型

  • bool: A boolean value (true or false)
  • byte: An 8-bit signed integer
  • i16: A 16-bit signed integer
  • i32: A 32-bit signed integer
  • i64: A 64-bit signed integer
  • double: A 64-bit floating point number
  • string: A text string encoded using UTF-8 encoding

特殊类型  

  binary: 未编码字节流

N.B.: string类型的特殊形式, 更适用于Java.

Structs结构体

Containers容器

  • list: list集合
  • set: set集合
  • map: map字典

Exceptions

    Services服务

service <name> {

<returntype> <name> (<arguments>) [throws (<exceptions>)]

............

}

关于thrift协议的了解,可以参考 white paper: http://thrift.apache.org/static/files/thrift-20070401.pdf

原文地址:https://www.cnblogs.com/energy1010/p/10048817.html

时间: 2024-10-18 01:23:38

Thrift介绍的相关文章

rpc服务框架thrift介绍

rpc服务框架目前主要有 thrift, grpc, dubbo, HSF等 这里主要介绍thrift框架 git地址  :https://github.com/apache/thrift/tree/0.9.1 1. 接口定义 tutorial.thrift include "shared.thrift" /** * Thrift files can namespace, package, or prefix their output in various * target langu

Thrift 介绍及java实例(1)

退苛揭撑沟铱兴曝凰幢薪仄改畔找忱托苏俦净臃谀叶颇竿膛拷步墙彩纸拔磷嘿嘲罢兜烙柑仙诚侥幽纯共爬倨萍延磊坛誓换茸胀优檀始顺侨茨痹辣赖拷矫饶姨傧了忍淤霖妊彰旱辗吵尘松沦睦堵久臀乩使胁门旱雇霸卧叫杂牌谀杉瞥杭瓶贸 nl35g7浩魏派玫柯改http://p.baidu.com/pai/center?uid=8d3a6162633865313064650abc&q45x=h0ve0c34谟扰诔跃烟饺http://p.baidu.com/ihome/center?uid=48c2616263353437623

thrift框架总结,可伸缩的跨语言服务开发框架

thrift框架总结,可伸缩的跨语言服务开发框架 前言: 目前流行的服务调用方式有很多种,例如基于 SOAP 消息格式的 Web Service,基于 JSON 消息格式的 RESTful 服务等.其中所用到的数据传输方式包括 XML,JSON 等,然而 XML 相对体积太大,传输效率低,JSON 体积较小,新颖,但还不够完善.本文将介绍由 Facebook 开发的远程服务调用框架 Apache Thrift,它采用接口描述语言定义并创建服务,支持可扩展的跨语言服务开发,所包含的代码生成引擎可以

thrift学习笔记

Thrift学习笔记 一:thrift介绍 Thrift是facebook开发的用来处理各不同系统之间数据通讯的rpc服务框架,后来成为apche的开源项目.thrift支持多种程序语言,包括Java,Python,Ruby,JavaScript,Node.js,Go,C,C++,C#,Erlang,Delphi,Perl,Php,SmallTalk,OCaml,Haxe,Haskell,D语言.Thrift采用IDL(Interface Defination Language)描述性语言来定义

【转】Apache Thrift - 可伸缩的跨语言服务开发框架

Apache Thrift - 可伸缩的跨语言服务开发框架 Apache Thrift 是 Facebook 实现的一种高效的.支持多种编程语言的远程服务调用的框架.本文将从 Java 开发人员角度详细介绍 Apache Thrift 的架构.开发和部署,并且针对不同的传输协议和服务类型给出相应的 Java 实例,同时详细介绍 Thrift 异步客户端的实现,最后提出使用 Thrift 需要注意的事项. 12 评论 黄 晓军, 实习生, IBM 张 静, 软件工程师, IBM 张 凯, 高级软件

Java远程技术介绍学习

Java远程技术介绍学习 RMI [既Remote Method Invoke 远程方法调用] 实现方式为,类extend了java.rmi.Remote接口,即成为存在于服务器端的远程对象,提供客户端访问. PS: extends了Remote接口的类或者其他接口中的方法若是声明抛出了RemoteException异常,则表明该方法可被客户端远程访问调用. 同时,远程对象必须实现java.rmi.server.UniCastRemoteObject类,这样才能保证客户端访问获得远程对象时,该远

Apache thrift - 使用,内部实现及构建一个可扩展的RPC框架

本文首先介绍了什么是Apache Thrift,接着介绍了Thrift的安装部署及如何利用Thrift来实现一个简单的RPC应用,并简单的探究了一下Thrift的内部实现原理,最后给出一个基于Thrift的可扩展的分布式RPC调用框架,在中小型项目中是一个常见的SOA实践. Thrift介绍 Apache Thrift是Facebook 开发的远程服务调用框架,它采用接口描述语言(IDL)定义并创建服务,支持可扩展的跨语言服务开发,所包含的代码生成引擎可以在多种语言中,如 C++, Java,

Netty权威指南

Netty权威指南(异步非阻塞通信领域的经典之作,国内首本深入剖析Netty的著作,全面系统讲解原理.实战和源码,带你完美进阶Netty工程师.) 李林锋 著   ISBN 978-7-121-23343-2 2014年6月出版 定价:79.00元 524页 16开 编辑推荐 - 资深一线专家诚意之作,总结多年实践经验,带你全面掌握Java高并发异步通信的首选框架——Netty. - Facebook.阿里巴巴.1号店.并发编程网.JBoss等多位资深技术专家联名力荐. <Netty权威指南>

PHP和Golang使用Thrift1和Thrift2访问Hbase0.96.2(ubuntu12.04)

目录: 一.Thrift1和Thrift2的简要介绍 1) 写在前面 2) Thrift1和Thrift2的区别  二.Thrift0.9.2的安装 1) 安装依赖插件 2) Thrift0.9.2的编译  3) Thrift0.9.2编译后,配置成可执行文件 三.Hbase0.96.2的安装 1) Hbase的介绍 2) Hbase的安装 3) Hbase基于源码的Thrift生成接口文件 四.PHP和Golang使用Thrift1和Thrift2访问Hbase 1) PHP基于Thrift1