thrift基础教程安装篇

brucemengbm brucemengbm     2022-09-03     703

关键词:

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编码教程。如有问题欢迎批评指证:)

參考文献:















mysql基础篇mysql数据库安装教程

(MySQL数据库安装教程)MySQL相关概念名称全称简称数据库存储数据的仓库,数据是有组织的进行存储DataBase(DB)数据库管理系统操纵和管理数据库的大型软件DataBaseManagementSystem(DBMS)SQL操作关系型数据库的编程语言,定义了一套操作关... 查看详情

sass基础教程——安装(代码片段)

本篇主要如何安装Sass,并不需要CSS知识,不过对CSS不熟悉的同学可参考我之前写的系列教程:CSS入门篇CSS进阶篇CSS高级篇上一篇我们提到过:Sass是一种CSS的扩展语言,也是一种脚本语言,需要转换成CSS才... 查看详情

mysql基础篇mysql数据库安装教程

✅作者简介:大家好我是hacker707,大家可以叫我hacker,新星计划第三季python赛道Top1🏆📃个人主页:hacker707的csdn博客🔥系列专栏:MySQL从入门到精通💬个人格言:但行好事,莫问前程MySQL数... 查看详情

thrift框架-安装

1.前言今天接触了使用PRC【远程过程调用协议】的Thrift框架 ,留下随笔心得,这是安装篇2.下载去apache官网下载Thrift脚本编译程序,window则下载一个exe文件,然后将文件的路径设置在系统环境变量path即可Thrift下载地址: &... 查看详情

thriftrpc系列教程——thrift语言(代码片段)

Thrift不是严格意义上的编程语言,但是却胜过很多编程语言,充满了美感。基础数据类型Thrift这门编程语言提供了如下几种基础的数据类型:bool:Abooleanvalue(trueorfalse)byte:An8-bitsignedintegeri16:A16-bitsignedintegeri32:A32-bitsignedintegeri64:A64-bi... 查看详情

(转)elasticsearch教程——汇总篇

...;安装IK分词器插件ElasticSearch教程——安装Kibana 基础操作ElasticSearch教程——Kibana简单操作ESElasticSearch教程——批量处理(mget和bulk)ElasticSearch教程——kibana嵌套聚合,下钻分析,聚合分析  基... 查看详情

laravel:基础篇

一.安装1)采用一键安装包http://laravelacademy.org/resources-download2)Mac上安装----------在Mac上安装composer----------curl-sShttps://getcomposer.org/installer|php这样就在根目录下下载了composer 为了使用可以在全局中使用我们在下载的composer移动到... 查看详情

python3.0基础系列教程(目录)

...载并安装Python3.02.第一个python程序3.安装集成开发环境ide基础知识篇基本数据类型初识输入输出的概念及实现我会数学运算编程的世界有如果,if语句这个世 查看详情

qt快速入门学习笔记(基础篇)

本文基于Qter开源社区论坛版主yafeilinux编写的《Qt快速入门系列教程目录》,网址:http://bbs.qter.org/forum.php?mod=viewthread&tid=193。参考书为基于该系列教程《QtCreator快速入门》和《Qt及QtQuick开发实战精解》1、关联Qt库。如果是分别... 查看详情

前端基础从头学——vscode使用教程+html基础(入门篇)(代码片段)

...装两个有用的插件3、新建文件二、第一个小项目三、HTML基础知识1、<b>标签定义及用法2、<i>标签定义及用法3、<u>标签定义及用法4、<s>标签定义及用法5、<br>标签定义及用法6、图像标签(<img>)... 查看详情

[基础篇]esp8266-sdk教程之helloworld!(代码片段)

...文章,可以先去看看前两篇文章,先了解一下并完成一些基础操作。这里推荐大家安装一下Git这个灰常炒鸡好用的分布式版本管理神器,本人是非常喜欢这款由Linux之父LinusTorvalds开发的工具,可以很方便让我完成一些工作,比如... 查看详情

sass基础教程——安装(代码片段)

本篇主要如何安装Sass,并不需要CSS知识,不过对CSS不熟悉的同学可参考我之前写的系列教程:CSS入门篇CSS进阶篇CSS高级篇上一篇我们提到过:Sass是一种CSS的扩展语言,也是一种脚本语言,需要转换成CSS才... 查看详情

rabbitmq基础教程之基本使用篇(代码片段)

RabbitMQ基础教程之基本使用篇最近因为工作原因使用到RabbitMQ,之前也接触过其他的mq消息中间件,从实际使用感觉来看,却不太一样,正好趁着周末,可以好好看一下RabbitMQ的相关知识点;希望可以通过一些学习,可以搞清楚以... 查看详情

thrift在windows7下的安装与实践

本文借鉴自http://www.jianshu.com/p/0f4113d6ec4b(下面称简书教程)首先上官网下载代码https://thrift.apache.org/download下载源码thrift-0.9.3.tar.gz 解压之后放在路径C: hrift-0.9.3 hrift-0.9.3并下载windows执行版thrift-0.9.3.exe放在路径C: hrif 查看详情

xamarinxaml语言教程基础语法篇大学霸

XamarinXAML语言教程基础语法篇大学霸前 言Xamarin是一个跨平台开发框架。它可以用来开发iOS、Android、WindowsPhone和Mac的应用程序。使用Xamarin框架中的Forms子框架,用户可以一次性的开发多个平台的应用,如iOS、Android、WindowsPhone... 查看详情

kafka-2安装实战篇

了解好kafka的基础概念之后,可以开始动手,环境:centos7,官方教程http://kafka.apache.org/quickstart#quickstart_download安装java环境,安装jdk(推荐,也省事)Centos: yum-yupdate yum-yinstalljavaUbuntu: sudoapt-getupdate sudoapt-getinstalljava或者 查看详情

esp32-c3入门教程——导读

...eIDE快速入门ESP32-C3入门教程环境篇④——VSCodeIDE调试二、基础篇ESP32-C3入门教程基础篇①——基于VSCode构建HelloWorldESP32-C3入门教程基础篇②——GPIO口控制ESP32-C3入 查看详情

flutter基础widgets教程-cupertinoactivityindicator篇(代码片段)

Keykey,this.iOSVersionStyle=CupertinoActivityIndicatorIOSVersionStyle.iOS13,)3 常用属性 3.1animating:是否播放动画animating:true,3.2radius:加载框半径radius:20.0, 查看详情