RPC框架和Apache Thrift是什么?

114
我需要学习Apache Thrift用于大学项目。正如这个教程所说,它是一个RPC框架,除了他们的文档之外,这是我能找到的关于Thrift的唯一文档。
有人可以告诉我什么是RPC框架以及这与Apache Thrift有什么关系吗?
1个回答

188
通常情况下,RPC框架是一组工具,可以让程序员调用远程进程中的代码,无论它在不同的机器上还是在同一台机器上的另一个进程中。 在特定情况下,Apache Thrift是一种旨在实现高效率且可在各种操作系统平台和编程语言之间使用的框架。此外,您可以根据需要选择传输方式(如套接字、管道等)和协议(二进制、JSON甚至压缩),还可以选择SSL或SASL支持等其他选项。 例如,您可以在Linux机器上设置一个C++服务器,通过基于JSON的HTTP协议向世界提供一些服务。这个服务可以由运行在Windows机器上的Python客户端程序调用。服务器和客户端的代码都是从Thrift IDL文件生成的。要使其运行,您只需添加所需的程序逻辑并将所有内容组合起来即可。 Apache Thrift的单一最佳参考资料仍然是Apache Thrift白皮书。尽管某些细节略有过时,但基本概念仍然有效。另一个好读物是Diwaker Gupta的"缺失指南",最后还有即将推出的Randy Abernethy的书。 对于初学者,我建议从Apache Thrift的教程套件开始,这些示例展示了许多核心特性。如果遇到问题,欢迎在SO或Thrift邮件列表上提问。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接