2013-12-18 44 views

回答

110

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开始,这些例子展示了很多核心功能。如果遇到问题,欢迎您在SO或者Thrift邮件列表上询问。