作者:ys250
来源:http://www.ys250.com/2010/07/03/thrift_py_php/
thrift是由facebook开发的轻量级跨语言的服务框架,现在已经移交到apache基金会下。和他类似的是google出的protocol buffer和ice。 thrift的一大优势就是支持的语言很丰富,它使用自己的IDL语言来描述服务接口和数据交换的格式。
官方网站:http://incubator.apache.org/thrift/
一、安装:
yum -y install gcc-c++ autoconf automake sysconftool boost \
boost-devel libtool perl-ExtUtils-MakeMaker gettext-base \
gettext gettext-devel liblocale-gettext-perl zlib-devel \
byacc bison flex pkgconfig python-devel
wget http://apache.freelamp.com/incubator/thrift/0.2.0-incubating/thrift-0.2.0-incubating.tar.gz
./bootstrap.sh
./configure --prefix=/usr/local/thrift --with-ruby=no --with-erlang=no --with-java=no --with-csharp=no --enable-gen-java=no --enable-gen-csharp=no --enable-gen-rb=no --enable-gen-erl=no
make
make install
二、IDL描述:
三、编译 helloworld:
按上面的流程就可以写自己的thrift了,我使用py做服务端,用php做客户端,当然也可以使用c++来做服务端。
相关文章:
thrift 安装 http://wiki.apache.org/thrift/ThriftInstallation
redis + thrift + mongodb 数据测试 http://www.ys250.com/2010/09/02/redis-thrift-mongodb-test/
Thrift基本使用 http://hi.baidu.com/infant/blog/item/01fa53436adc79189313c69e.html
分享到:
相关推荐
在Java环境中,Thrift提供了服务器和客户端的实现,使得Java应用能够方便地建立起高效的通信机制。下面我们将深入探讨Thrift在Java环境中的服务器和客户端通信过程。 首先,我们需要定义服务接口。这通常通过编写一...
其中,IDL 用于定义服务接口,Compiler 负责将 IDL 文件编译成目标语言的代码,Runtime Library 提供了客户端和服务器端的通信实现。 在 Thrift 中,服务描述文件使用 IDL 语法编写,例如 Hello.thrift 文件。编译 ...
Thrift是一种高效的、跨语言的服务框架,最初由Facebook开发,现在是Apache的顶级项目。它提供了强大的代码生成工具,可以从接口定义文件(IDL)生成多种编程语言的客户端和服务端代码,使得不同语言之间可以轻松地...
1. **跨语言**:Thrift使得服务提供者和消费者可以使用不同的编程语言,这对于构建多语言的微服务架构特别有用。 2. **高性能**:Thrift的二进制协议和高效的数据序列化方式使得通信速度较快,适合大数据量和高并发...
2. 多语言支持:Thrift 支持多种编程语言,如 C++, Java, Python, PHP, Ruby 等,允许不同语言间的服务交互。 3. 命名空间:每个 Thrift 文件有自己的命名空间,避免了标识符冲突。 4. 基础类型:包括 bool, byte, i...
Thrift是一种开源的跨语言服务开发框架,由Facebook于2007年开发并开源,现在由Apache基金会维护。它的主要目标是通过定义一种中间语言...通过学习和掌握Thrift,开发者可以更有效地构建可扩展的、多语言的服务架构。
首先,Thrift的主要功能是定义服务接口和数据结构,这些定义会被编译成各种目标语言的代码,以便于实现客户端和服务器端之间的通信。在C++中,Thrift生成的代码通常包含了服务的抽象接口、数据结构的类以及必要的...
`Thrift`是一个由Facebook开发的开源框架,专门设计用于解决多语言间高效、安全的数据交换问题。本主题将详细探讨如何使用Thrift实现Golang与C#程序之间的互相访问。 首先,让我们了解Thrift的基本概念。Thrift是一...
Java通过Thrift框架实现通信是一种高效、跨语言的服务交互方式,尤其在分布式系统中广泛应用。Thrift是由Facebook开源的一种高性能的RPC(Remote Procedure Call)框架,它能够将服务定义为接口,然后自动生成多种...
这种跨语言的能力使得开发多语言服务变得简单,同时Thrift还提供了一种轻量级的二进制协议,确保了通信效率。 二、Thrift IDL Thrift接口定义语言(IDL)是一种简单的结构化语言,用于定义服务、数据结构和常量。...
3. 分布式数据库:如Cassandra,利用Thrift实现跨节点的数据传输和查询。 六、源码分析 深入研究Thrift的源码有助于理解其内部机制,例如如何解析IDL、如何生成代码、传输层的具体实现等。这有助于优化自定义的...
3. **多语言支持**:由于Thrift支持多种语言,使用Thrift-Laravel可以轻松地在Laravel应用和其他语言(如Java、Python、Go等)的应用之间建立通信。 四、部署与调试 1. **部署**:将Thrift-Laravel集成到Laravel...
这些声明被编译器转换成各种编程语言的代码,如Java、Python、C++等,从而实现多语言间的通信。 2. **Thrift IDL**:在thrift-src中,你会看到.thrift文件,这些是用Thrift IDL编写的。例如,你可以定义一个服务: ...
Thrift与Delphi的结合,使得开发者可以用Delphi编写高效的服务器和客户端程序,轻松实现跨平台的通信。 在"thrift-delphi"这个实例中,我们将深入探讨如何在Delphi环境下使用Thrift。首先,我们需要理解Thrift的IDL...
在本主题“Thrift之QT远程调用(银河麒麟高级服务器版V10操作系统)”中,我们将深入探讨如何在银河麒麟高级服务器版V10操作系统上,利用C++和QT库实现Thrift的RPC通信。 首先,我们需要了解银河麒麟高级服务器版...
Thrift是一种高效的、跨语言的服务框架,由Facebook开发并开源,现由Apache基金会维护。它通过定义一种中间语言(IDL,Interface Definition Language)来描述服务接口,然后自动生成各种编程语言的客户端和服务端...
3. 多语言支持:Thrift 的一个重要特性就是跨语言支持。开发者可以在一种语言中编写服务,然后在其他语言中使用这个服务,极大地降低了多语言环境下的集成难度。 4. 客户端与服务器端通信:Thrift 提供了基于 TCP ...
这些库实现了服务的调度、请求处理和错误处理等功能,确保了跨语言通信的兼容性和一致性。 4. 数据序列化 Thrift支持高效的二进制序列化,使得数据在网络间传输时占用较少的带宽,提高了通信效率。相比于XML或JSON...
Thrift是Facebook开源的一款高性能、跨语言的服务框架,其核心理念是通过定义一种中间语言(IDL,Interface Definition Language)来描述服务接口,并自动生成不同编程语言的代码,从而实现不同语言之间的通信。...