什么是RPC框架和Apache Thrift?


99

我需要为大学项目学习Apache Thrift。如本教程所述,它是一个RPC框架,是除Thrift的文档之外我可以找到的唯一的文档

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

Answers:


158

一个RPC框架一般是一组工具,使程序员调用的一段代码在远程进程,无论是不同的机器或只是另一个过程在同一台机器上。

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

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

关于Apache Thrift 的唯一最佳参考仍然是Apache Thrift白皮书。尽管在某些细节上有些过时,但基本概念仍然有效。迪瓦克·古普塔Dewaker Gupta)的《失踪指南》Missing Guide)是另一本不错的读物,也是最近出版的兰迪·阿伯内西Randy Abernethy)的书。

对于初学者,我建议从Apache Thrift 教程套件开始,这些示例展示了许多核心功能。如果您遇到问题,欢迎在此处或在Thrift邮件列表中提问。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.