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. Dapper优秀资料

    dapper extensions (predicates) https://www.cnblogs.com/starluck/p/4542370.html

  2. centos安装nvidia驱动

    大部分 Linux 发行版都使用开源的显卡驱动 nouveau,对于 nvidia 显卡来说,还是闭源的官方驱动的效果更好.最明显的一点是,在使用 SAC 拾取震相的时候,使用官方显卡驱动在刷新界面的 ...

  3. YUM安装MONGODB发生Error in PREIN scriptlet in rpm package mongodb-enterprise-server-4.0.2-1.el6.x86_64错误

    YUM安装MONGODB发生Error in PREIN scriptlet in rpm package mongodb-enterprise-server-4.0.2-1.el6.x86_64错误 ...

  4. c++PrimerChap7类

    仅仅记录贴,按书上的做完了一边,想把private分离出来已经很难了.因为is用到的成员变量都是直接当做public使用的,如果要改的话可以考虑存储输入,让后用构造函数对类进行初始化. #includ ...

  5. mac pro配置php开发环境

    mac pro自带php和apache,所以我们只要配置下就好了 // 启动Apache服务 sudo apachectl start // 重启Apache服务 sudo apachectl res ...

  6. 紫书 例题8-13 UVa 11093 (反证法)

    这道题发现一个性质就解决了 如果以i为起点, 然后一直加油耗油, 到p这个地方要去p+1的时候没油了, 那么i, i+1, --一直到p, 如果以这些点 为起点, 肯定也走不完. 为什么呢? 用反证法 ...

  7. 题解 UVA12206 【Stammering Aliens】

    终于A了这道题啊(坑啊) 教练说:这道题不能用map吧,复杂度不一个O(nlogn)吗 于是我就一直想不出来,然后看题解代码,一看就是map... 所以我就在想,那复杂度是不是也不是O(nlogn)呢 ...

  8. 在VS2013中配置QT5 win7_64

    转自 在VS2013中配置QT5 win7_64 环境: win x64 + vs2013+QT5+vs_addin 下面示例正确配置QT以及VS2013 + QT Addin开发环境: 下载VS20 ...

  9. mysql-基础和基本指令

    基础: 1.数据库模式:简单的说:就是一个数据库用户所拥有的数据库的对象.   比如scott用户建立了表,索引,视图,存储过程等对象,那么这些对象就构成了schema   scott .有时用作数据 ...

  10. struts2 validate验证

    转自:https://blog.csdn.net/houpengfei111/article/details/9038233 自定义拦截器 要自定义拦截器需要实现com.opensymphony.xw ...