1、Thrift简单介绍
Thrift是一款由Fackbook开发的可伸缩、跨语言的服务开发框架,该框架已经开源而且增加的Apache项目。Thrift主要功能是:通过自己定义的Interface Definition Language(IDL)。能够创建基于RPC的client和服务端的服务代码。

服务代码的生成是通过Thrift内置的代码生成器来实现的。Thrift 的跨语言性体如今,它能够生成C++, Java, Python, PHP, Ruby, Erlang, Perl, Haskell, C#, Cocoa, JavaScript, Node.js, Smalltalk, OCaml , Delphi等语言的代码,且它们之间能够进行透明的通信。


2、为什么要使用Thrift?

众所周知,PHP由于开发周期快,易部署。上手简单。社区活跃而非常受欢迎,可是有长处就有缺点,php没有得到一些大型开源软件的支持,比如Hbase。cassandra等。所以这时候,就会採用Thrift做为中介,来统一Java等服务端与phpclient的通信。Thrift仅仅是依据配置文件用来生成固有格式的代码框架。不做server使用,真正提供服务的是通过框架写出的java等代码。

3、安装Thrift,我准备使用java写服务端,所以须要安装java等系列环境

1)安装java环境安装
下载jdk-7u79-linux-x64_0.rpm
安装
rpm -ivh jdk-7u79-linux-x64_0.rpm
环境变量配置
export JAVA_HOME=/usr/java/jdk1.7.0_79
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

2)安装ant
mkdir /usr/ant
cd /usr/ant
wget -c http://mirror.bit.edu.cn/apache//ant/binaries/apache-ant-1.9.6-bin.tar.gz
tar -zvxf apache-ant-1.9.6-bin.tar.gz
export ANT_HOME=/usr/ant/apache-ant-1.9.6
export PATH=$ANT_HOME/bin:$PATH

3)更新bison到2.5以上版本号
wget http://ftp.gnu.org/gnu/bison/bison-2.5.1.tar.gz
tar xvf bison-2.5.1.tar.gz
cd bison-2.5.1
./configure --prefix=/usr
make
sudo make install

4)安装autoconf,须要2.65以上版本号
wget http://ftp.gnu.org/gnu/autoconf/autoconf-2.69.tar.gz
tar xvf autoconf-2.69.tar.gz
cd autoconf-2.69
./configure --prefix=/usr
make
sudo make install

5)[非必须]升级g++,须要4.2版本号以上,假设是了,就不要升级g++了,推断方法g++ -v
wget -c http://ftp.tsukuba.wide.ad.jp/software/gcc/releases/gcc-4.8.1/gcc-4.8.1.tar.gz
tar -zvxf gcc-4.8.1.tar.gz
cd gcc-build-4.8.1
./contrib/download_prerequisites
./configure --enable-checking=release --enable-languages=c,c++ --disable-multilib
make -j4
make install
cp gcc-build-4.8.1/prev-x86_64-unknown-linux-gnu/libstdc++-v3/src/.libs/libstdc++.so.6.0.18 /usr/lib
ln -sf /usr/lib/libstdc++.so.6.0.18 /usr/lib64/libstdc++.so.6

6)安装Thrift
wget -c http://archive.apache.org/dist/thrift/0.9.0/thrift-0.9.0.tar.gz
cd thrift-0.9.0
./configure --with-ruby=no --with-java
make
make install

在命令行运行thrift -version查看版本,显演示样例如以下就成功了。 


下一篇将介绍java服务端与phpclient编码教程。如有问题欢迎批评指证:)

參考文献:

Thrift 基础教程(一)安装篇的更多相关文章

  1. Docker基础教程(安装篇)

    Linux安装: 1.yum -y install docker-io 2.service docker start 3.chkconfig docker on Window安装: Docker 引擎 ...

  2. spring cloud 2.x版本 Spring Cloud Stream消息驱动组件基础教程(kafaka篇)

    本文采用Spring cloud本文为2.1.8RELEASE,version=Greenwich.SR3 本文基于前两篇文章eureka-server.eureka-client.eureka-ri ...

  3. [Odoo12基础教程]之第一篇-创建Todo应用

    声明: 本教程基于 Ruter 老师的 [Odoo基础教程系列] ,Ruter老师教程的链接地址为:Odoo基础教程系列   . 至于为什么已经有了Ruter老师的教程,还要自己再搬移一份呢?是基于一 ...

  4. MongoDB基础教程(安装、操作、配置)

    MongoDB 下载安装 简易安装 # redhat, centOS sudo yum install -y mongodb # debian, ubuntu sudo apt install -y ...

  5. (一)Redis初学教程之安装篇

    1.下载windows下Redis服务安装程序(有32位的和64位的,识操作系统安装) 下载地址:https://github.com/dmajkic/redis/downloads 2.安装教程(详 ...

  6. MongoDB基础教程系列--第二篇 MongoDB基本操作(一)

    1.安装环境 在官网上下载MongoDB的最新版本,根据自身Windows版本下载正确的MongoDB版本.下载后,双击32位或者64位.msi文件,按操作提示安装就可以了. 说明: 32 位版本的 ...

  7. java零基础之--JDK安装篇

    ---恢复内容开始--- 很多零基础学习者在开始学习java中很难理解JDK的安装和配置,以下是基于Windows 7 的安装配置流程(Windows 10类似) 1. 在安装之前我们先了解几个名词: ...

  8. Apache Shiro 快速入门教程,shiro 基础教程 (这篇文章非常好)

    第一部分 什么是Apache Shiro     1.什么是 apache shiro :   Apache Shiro是一个功能强大且易于使用的Java安全框架,提供了认证,授权,加密,和会话管理 ...

  9. MongoDB基础教程系列--第一篇 进入MongoDB世界

    1.什么是MongoDB MongoDB是跨平台的.一个基于分布式文件存储的数据库.由C++语言编写.用它创建的数据库具备性能高.可用性强.易于扩展等特点.MongoDB将数据存储为一个文档,数据结构 ...

随机推荐

  1. 优动漫PAINT绘制紫阳花教程

    紫阳花是插画.漫画很常见的绘画画材.这个教程非常好懂.而且很方便就能绘制出漂亮的效果.因为这种花一个月内能变化三种颜色,故而人们赋予它的花语是善变.背叛. 教程是简单,呃.... 没有优动漫PAINT ...

  2. FZU 1980 AbOr's story

    AbOr's story Time Limit: 1000ms Memory Limit: 32768KB This problem will be judged on FZU. Original I ...

  3. A simpleHttp Proxy

    http://www.java2s.com/Code/Java/Network-Protocol/Asimpleproxyserver.htm

  4. hdu 2191 悼念512汶川大地震遇难同胞——珍惜如今,感恩生活

    #include<stdio.h> #include<string.h> #include<algorithm> using namespace std; int ...

  5. spark的内存分配管理

    SPARK的内存管理器 StaticMemoryManager,UnifiedMemoryManager 1.6以后默认是UnifiedMemoryManager. 这个内存管理器在sparkCont ...

  6. NSURLCache、网络监測状态

    有时候.对同一个URL请求多次.返回的数据可能一样的: 比方server上的某张图片.不管下载多少次,返回的数据都是一样的.可是这些情况会造成下面问题: 1,用户流量的浪费. 2.程序响应速度不够快 ...

  7. 设计url 通过分发的方式 Xadmin_demo

    如 urlpatterns = [ url(r'^Xadmin/',([ url(r'^add/$', views.add) url(r'^delete/$', views.delete) ], No ...

  8. rest_framework 解析器(下 全局配置使用)

    解析器 一般都是全局设置 参考文档 www.cnblogs.com/wupeiqi/articles/.html REST_FRAMEWORK=( "DEFAULT_PARSER_CLASS ...

  9. java9新特性-15-全新的HTTP 客户端API

    1.官方Feature 110: HTTP 2 Client 2.使用说明 HTTP,用于传输网页的协议,早在1997年就被采用在目前的1.1版本中.直到2015年,HTTP2才成为标准.     H ...

  10. AngularJs轻松入门(一)创建第一个应用

    AngularJs是Google工程师研发的一款JS框架,官方文档中对它的描述是,它是完全使用JavaScript编写的客户端技术,同其他历史悠久的Web技术(HTML,CSS等)配合使用,使得Web ...