zoukankan      html  css  js  c++  java
  • 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

     

  • 相关阅读:
    SQL 代码片段
    SQL
    Python List
    python_enumerate用法
    HashMap记录
    Brute Force(暴力算法)
    python解析html文件,提取标签中一个元素
    每五分钟统计一次数据
    grep
    expect
  • 原文地址:https://www.cnblogs.com/energy1010/p/10048817.html
Copyright © 2011-2022 走看看