`
docong
  • 浏览: 17035 次
  • 性别: Icon_minigender_1
  • 来自: 成都
文章分类
社区版块
存档分类

Thrift白皮书《Thrift:可扩展的跨语言服务实现》 中文完整翻译

阅读更多

在几个博客中都放一份,免得 ×× 网站又被××部门给关了      

"Thrift是一个最初由Facebook公司开发的软件库和代码产生工具集,它加速了高效和可扩展后端服务的开发和实现。它的主要目标是使跨编程语言的高效、可靠通信成为可能,通过抽象每种语言的特定部分,满足由各种语言实现的通用库趋于最大化定制的需求。尤其是,
Thrift允许开发者在一个语言中立性文档中定义数据结构和服务,并产生构建RPC客户端和服务器端的所有必需代码。"——《Thrift:可扩展的跨语言服务实现》摘要

        

         由于各种原因,产生了 对Thrift白皮书进行全文翻译的兴趣,原稿来源于apache thrift项目官方网站thrift-20070401 PDF文档,原文档使用TeX排版,采用ACM SIGPLAN(Special Interest Group on Programming Languages)提供的样式,翻译稿亦采用TeX排版(具体讲,应该是CTeX套件),对SIGPLAN的样式进行了进行了少许的汉化,以生成合适的中文式样,全文共1万多字。TeX源文件和编译后的pdf文件已经打包,并提供下载,现在以Apache License, Version 2.0授权提供pdf文件的png(1241×1754像素)全文,敬请指教(docongwh AT gmail刀com):

     

 page1

 page2

 page3

 page4

 page5

 page6

 page7

 page8

 page9

分享到:
评论
4 楼 dwangel 2012-05-23  
wangcc585 写道
你好:
      我在安装php+thrift+hadoop时,命令#thrift --gen php hadoopfs.thrift编译hadoopfs.thrift文件时,会报许多错误,类似于

No field key specified for id, resulting protocol may have conflicts or not be backwards compatible!

No field key specified for pathname, resulting protocol may have conflicts or not be backwards compatible!

能告诉我为什么吗?谢谢

请看 5.1,字段标示符

就是说,字段声明 要加一个正整数来标示……
struct Example {
1:i32 number=10,
2:i64 bigNumber,
3:double decimals,
4:string name="thrifty"
}
3 楼 wangcc585 2011-12-22  
你好:
      我在安装php+thrift+hadoop时,命令#thrift --gen php hadoopfs.thrift编译hadoopfs.thrift文件时,会报许多错误,类似于

No field key specified for id, resulting protocol may have conflicts or not be backwards compatible!

No field key specified for pathname, resulting protocol may have conflicts or not be backwards compatible!

能告诉我为什么吗?谢谢
2 楼 docong 2010-11-25  
dennis_zane 写道
为什么不直接提供PDF下载?图片显示还是文字太小。

请把正文读完,里面有pdf下载和TeX源文档的下载链接,图片的像素是比较清晰的,你可以打开图片到单独一页看。
1 楼 dennis_zane 2010-11-25  
为什么不直接提供PDF下载?图片显示还是文字太小。

相关推荐

    Apache Thrift——可伸缩的跨语言服务开发框架

    * 可扩展的服务开发:Thrift 的架构设计允许开发者根据需要扩展服务,添加新的语言支持和传输协议。 在使用 Thrift 时,需要注意以下几点: * 选择合适的传输协议:Thrift 支持多种传输协议,如 TCP、HTTP、UDP 等...

    Apache Thrift - 可伸缩的跨语言服务开发框架(代码已修正)

    1. **跨语言**:Thrift使得服务提供者和消费者可以使用不同的编程语言,这对于构建多语言的微服务架构特别有用。 2. **高性能**:Thrift的二进制协议和高效的数据序列化方式使得通信速度较快,适合大数据量和高并发...

    Thrift初探:简单实现C#通讯服务程序

    Thrift是一种开源的跨语言服务开发框架,由Facebook开发并贡献给了Apache基金会。它被设计用来高效地构建可扩展的服务,允许用不同的编程语言在不同的系统之间进行通信。本篇文章将探讨如何使用Thrift在C#环境中搭建...

    thrift 源码(一种可伸缩的跨语言服务的发展软件框架)

    thrift是一种可伸缩的跨语言服务的发展软件框架。它结合了功能强大的软件堆栈的代码生成引擎,以建设服务,工作效率和无缝地与C + +,C#,Java,Python和PHP和Ruby结合。thrift是facebook开发的,我们现在把它作为...

    thrift总结 - 跨语言服务开发

    Thrift是一种开源的跨语言服务开发框架,由Facebook于2007年创建,后来贡献给了Apache基金会,成为Apache顶级项目。它旨在提供一个高效、轻量级的机制,允许编程语言之间进行定义良好、类型安全、高性能的RPC...

    thrift介绍、各种server的比较、多接口服务实现

    1. 接口描述语言:Thrift 提供了一种类似于 Java 或 C++ 的语言来定义服务和数据类型。 2. 多语言支持:Thrift 支持多种编程语言,如 C++, Java, Python, PHP, Ruby 等,允许不同语言间的服务交互。 3. 命名空间:每...

    thrift-编译工具

    1. **跨语言支持**:Thrift支持数十种编程语言,使得系统组件可以使用最适合的语言实现,而不受限于通信协议。 2. **高性能**:Thrift使用高效的二进制协议进行序列化和通信,相比XML或JSON,数据传输更紧凑,性能...

    Laravel开发-thrift-laravel

    Thrift则是一个跨语言的服务框架,由Facebook开源,用于实现高性能、可扩展的服务通信。Thrift-Laravel项目是将Thrift与Laravel框架结合,使得在Laravel应用中可以轻松地实现Thrift服务的创建和消费。 一、Thrift...

    thrift实现http协议案例

    Thrift是一种高效的、跨语言的服务框架,最初由Facebook开发,现在是Apache的顶级项目。它提供了强大的代码生成工具,可以从接口定义文件(IDL)生成多种编程语言的客户端和服务端代码,使得不同语言之间可以轻松地...

    qt 实现thrift的一个例子

    在IT行业中,Thrift是一种高性能、可扩展的跨语言服务开发框架,由Facebook开源,用于构建分布式服务。它通过定义一种中间表示(IDL,接口定义语言)来描述服务,然后自动生成不同编程语言的代码,使得不同语言之间...

    thrift多接口服务示例

    Thrift是一种高效的、跨语言的服务框架,由Facebook开发并开源,现由Apache基金会维护。它通过定义一种中间语言(IDL,Interface Definition Language)来描述服务接口,然后自动生成各种编程语言的客户端和服务端...

    thrift包及其源码

    10. **应用场景**:Thrift广泛应用于分布式系统,如大数据处理、微服务架构、跨语言服务交互等。例如,HBase、Cassandra等数据库服务就使用Thrift作为其通信接口。 11. **扩展性**:Thrift支持自定义扩展,可以添加...

    thrift初步了解

    java:thrift-0.9.1.exe --gen java test.thrift java:thrift-0.9.1.exe --gen php test.thrift 生成使用thrift需要的jar包: 下载Ant后, 配置环境变量, ANT_HOME=Ant解压路径。 下载thrift后使用ant编译需要的...

    windows下vs2010编译的thrift,包含lib和cpp源码

    1. **Thrift IDL(接口定义语言)**:Thrift IDL是一种类似于Java或C++的简单语言,用于定义服务接口和数据结构。通过编写.thrift文件,你可以声明服务、结构体、枚举、常量等,然后Thrift编译器会根据这些定义生成...

    thrift-0.13.0.zip

    1. **Thrift IDL**:Thrift IDL文件以`.thrift`为扩展名,用于定义服务、结构体、枚举、常量等。这些定义会被Thrift编译器转换为各种目标语言的代码。 2. **Thrift编译器**:Thrift提供了一个命令行工具,可以根据...

Global site tag (gtag.js) - Google Analytics