- Thrift (protocol)
Infobox_Software
name = Apache Thrift
caption =
collapsible =
developer =Apache Software Foundation
latest_release_version =Apache Incubator
latest_release_date = release date|2008|05|09
latest_preview_version =
latest_preview_date =
operating_system =
programming_language =
genre =remote procedure call framework
license =Apache License 2.0
website = http://incubator.apache.org/thrift/Thrift is a
remote procedure call framework developed atFacebook for "scalable cross-language services development". It combines a software stack with a code generation engine to build services that work efficiently and seamlessly betweenC++ , C#, Java,Perl , Python,PHP , Erlang and Ruby. Although developed at Facebook, it is now anopen source project in theApache Software Foundation Incubator. The implementation was described in an [http://developers.facebook.com/thrift/thrift-20070401.pdf 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 Fact|date=September 2008
* A lean and clean library. No framework to code to. NoXML configuration files.
* The language bindings feel natural. For example Java usesArrayList
. C++ usesstd::vector
.
* 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 throughCaml web services.
* No build dependencies on non-standard software. No mix of incompatible software licenses.ee also
*
Google 'sProtocol Buffers
*Cisco 's EtchExternal links
* [http://developers.facebook.com/thrift/ Facebook Developers site: Thrift]
* [http://incubator.apache.org/thrift/ Apache Incubator site: Thrift]
Wikimedia Foundation. 2010.