Thrift编译 Ubuntu 16.04

一、Thrift简介

Apache Thrift软件框架(用于可扩展的跨语言服务开发)将软件堆栈与代码生成引擎结合在一起,可以构建C++,Java,Python,PHP,Ruby,Erlang,Perl,Haskell,C#,JavaScript,Node.js,Smalltalk,OCaml和Delphi等语言。

入门
  • 下载Apache Thrift
    首先,下载 Thrift的副本。

  • 构建并安装Apache Thrift编译器
    然后,您将需要构建 Apache Thrift编译器并进行安装。有关此步骤的任何帮助,请参见安装Thrift指南。

  • 编写.thrift文件
    安装Thrift编译器后,您将需要创建一个Thrift文件。该文件是由节俭类型和服务组成的接口定义。您在此文件中定义的服务由服务器实现,并由任何客户端调用。Thrift编译器用于将Thrift文件生成为源代码,供不同的客户端库和所编写的服务器使用。从Thrift文件运行生成源
    thrift --gen <language> <Thrift filename>
    可以在此处找到用于所有客户端和服务器教程的示例tutorial.thrift文件。

Apache Thrift允许您在简单的定义文件中定义数据类型和服务接口。将该文件作为输入,编译器将生成用于轻松构建跨编程语言无缝通信的RPC客户端和服务器的代码。您无需编写大量的样板代码来序列化和传输对象并调用远程方法,而是可以开始工作。


可以参考简书《Thrift》:https://www.jianshu.com/p/4723ce380b0e

Thrift框架实现方式是RPC实现方式的一种。
在这里插入图片描述
假设有两台服务器A,B.A服务器上部署着一个应用a,B服务器上部署着一个应用b,现在a希望能够调用b应用的某个函数(方法),但是二者不在同一个进程内,不能直接调用,就需要通过网络传输,在AB服务器之间建一条网络传输通道,a把参数传过去,b接收到参数调用自己的方法得到结果,再通过网络传回给a。

简单讲就是A通过网络来调用B的过程,这个过程要涉及的东西很多,比如多线程、Socket、序列化反序列化、网络I/O,很复杂。于是牛掰的程序员把这些封装起来做成一套框架供大家使用,就是RPC框架。

二、编译安装

官网下载:
http://thrift.apache.org/

编译:
可参考官网:http://thrift.apache.org/docs/BuildingFromSource
1. 因为我编译的时候会自动链接goopenssl,所以需要disable这两项。
2. thrift会依赖anaconda3里的openssl-1.0.0报依赖问题,就算使用--disable-openssl也没法禁用,最后是重装anaconda解决的。

# 依赖
sudo apt install automake libboost1.58-dev byacc flex bison
# 编译
./bootstrap.sh
./configure --prefix=/opt/shtf/sas/thrift --disable-openssl --without-go
make -j12
# 安装
sudo make install

三、使用实例

待写。。。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值