【发布时间】:2014-01-06 08:12:12
【问题描述】:
我需要为大学项目学习 Apache Thrift。正如tutorial 所说,它是一个 RPC 框架,它是我能找到的除 their documentation 之外的 Thrift 的唯一文档。
谁能告诉我什么是 RPC 框架以及它与 Apache Thrift 有什么关系?
【问题讨论】:
我需要为大学项目学习 Apache Thrift。正如tutorial 所说,它是一个 RPC 框架,它是我能找到的除 their documentation 之外的 Thrift 的唯一文档。
谁能告诉我什么是 RPC 框架以及它与 Apache Thrift 有什么关系?
【问题讨论】:
RPC 框架通常是一组工具,使程序员能够在远程进程中调用一段代码,无论是在不同的机器上还是同一台机器上的另一个进程。
在 Apache Thrift 的特殊情况下,我们讨论了一个旨在高效且可跨操作系统平台和编程语言使用的框架。此外,您在传输(如套接字、管道等)和协议(二进制、JSON,甚至压缩)方面具有一定的灵活性,以及 SSL 或 SASL 支持等更多选项。
例如,您可以在 Linux 机器上设置一个服务器,用 C++ 编写,通过基于 JSON 的 HTTP 协议向世界提供一些服务。该服务可以由在 Windows 机器上运行的用 Python 编写的客户端程序调用。服务器和客户端的代码都是从 Thrift IDL 文件生成的。要让它运行,您基本上只需添加预期的程序逻辑并将所有部分放在一起。
Apache Thrift 最好的参考仍然是Apache Thrift Whitepaper。尽管在某些细节上有些过时,但下面的概念仍然有效。另一本好书是Diwaker Gupta's "Missing Guide",最后是Randy Abernethy 即将出版的书。
对于初学者,我建议从 Apache Thrift tutorial suite 开始,这些示例展示了很多核心功能。如果您遇到问题,欢迎您在 SO 或 Thrift 邮件列表上提问。
【讨论】: