The Full Wiki

More info on Thrift (protocol)

Thrift (protocol): Wikis

Advertisements
  

Note: Many of our articles have direct quotes from sources you can cite, within the Wikipedia article! This article doesn't yet, but we're working on it! See more info or our list of citable articles.

Encyclopedia

From Wikipedia, the free encyclopedia

Apache Thrift
Developer(s) Apache Software Foundation
Stable release Apache Incubator / 2008-05-09; 19 months ago
Type remote procedure call framework
License Apache License 2.0
Website http://incubator.apache.org/thrift/

Thrift is a remote procedure call framework developed at Facebook for "scalable cross-language services development". It combines a software stack with a code generation engine to build services that work efficiently and seamlessly between C++, C#, Java, Perl, Python, PHP, Erlang and Ruby. Although developed at Facebook, it is now an open source project in the Apache Software Foundation Incubator. The implementation was described in an April 2007 technical paper released by Facebook.

Benefits

Some stated benefits of Thrift include:

  • Cross-language serialization with allegedly lower overhead than alternatives such as SOAP
  • A lean and clean library. No framework to code to. No XML configuration files.
  • The language bindings feel natural. For example Java uses ArrayList<String>. C++ uses std::vector<std::string>.
  • The application-level wire format and the serialization-level wire format are cleanly separated. They can be modified independently.
  • The predefined serialization styles include: binary, HTTP-friendly and compact binary.
  • Doubles as cross-language file serialization.
  • Soft versioning of the protocol. Thrift does not require a centralized and explicit mechanism like major-version/minor-version. Loosely coupled teams can freely evolve RPC calls.
  • Extendable through Caml web services.
  • No build dependencies or non-standard software. No mix of incompatible software licenses.

See also

External links

Advertisements

Advertisements






Got something to say? Make a comment.
Your name
Your email address
Message