我需要为大学项目学习Apache Thrift。如本教程所述,它是一个RPC框架,是除Thrift的文档之外我可以找到的唯一的文档。
有人可以告诉我什么是RPC框架,这与Apache Thrift有何关系?
我需要为大学项目学习Apache Thrift。如本教程所述,它是一个RPC框架,是除Thrift的文档之外我可以找到的唯一的文档。
有人可以告诉我什么是RPC框架,这与Apache Thrift有何关系?
Answers:
一个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邮件列表中提问。