什么是RPC框架和Apache Thrift?

时间:2013-12-18 08:40:34

标签: rpc thrift

我需要为大学项目学习Apache Thrift。正如这个tutorial所说,它是一个RPC框架,它是除了their documentation之外我唯一可以为Thrift找到的文档。

有人可以告诉我什么是RPC框架,这与Apache Thrift有什么关系?

1 个答案:

答案 0 :(得分:137)

RPC框架通常是一组工具,使程序员能够在远程进程中调用一段代码,无论是在不同的机器上还是在同一台机器上的另一个进程上。

Apache Thrift 的特定情况下,我们讨论了一个高效的框架,并且可以跨OS平台和编程语言使用。此外,您在传输(例如套接字,管道等)和协议(二进制,JSON,甚至压缩)方面有一些灵活性,还有一些选项,如SSL或SASL支持。

例如,您可以在Linux机器上设置服务器,用C ++编写,通过基于JSON的HTTP协议向全世界提供服务。这个服务可以由用Python编写的客户端程序调用,在Windows机器上运行。服务器和客户端的代码都是从Thrift IDL文件生成的。为了让它运行,你基本上只需要添加预期的程序逻辑并将所有部分放在一起。

Apache Thrift的唯一最佳引用仍然是Apache Thrift Whitepaper。虽然在某些细节上略显过时,但基础概念仍然有效。另一个好的读物是Diwaker Gupta's "Missing Guide",最后一个是Randy Abernethy即将出版的书。

对于初学者,我建议从Apache Thrift tutorial suite开始,这些例子展示了很多核心功能。如果您遇到问题,欢迎您在此处或在Thrift邮件列表上询问。