码迷,mamicode.com
首页 > 其他好文 > 详细

Thrift介绍

时间:2018-12-01 15:23:44      阅读:213      评论:0      收藏:0      [点我收藏+]

标签:服务器   using   网站   perl   定义   nod   name   clone   关于   

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

 

 

 

 

 

 

 

 

Thrift介绍

标签:服务器   using   网站   perl   定义   nod   name   clone   关于   

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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!