Thrift (protocol)
Developer(s) | Apache Software Foundation |
---|---|
Stable release | Apache Incubator / May 9, 2008 |
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
This section does not cite any references or sources. Please help improve this article by adding citations to reliable sources. Unsourced material may be challenged and removed. (August 2009) |
Some stated benefits of Thrift include:
- Cross-language serialization with allegedly lower overhead than alternatives such as SOAP[citation needed]
- 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++ usesstd::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
|
Stub icon | This computer network-related article is a stub. You can help Wikipedia by expanding it. |
If you like SEOmastering Site, you can support it by - BTC: bc1qppjcl3c2cyjazy6lepmrv3fh6ke9mxs7zpfky0 , TRC20 and more...
- Pages where expansion depth is exceeded
- Pages with broken file links
- Articles needing additional references from August 2009
- Articles with invalid date parameter in template
- All articles needing additional references
- All articles with unsourced statements
- Articles with unsourced statements from September 2008
- Online social networking
- Inter-process communication
- Application layer protocols
- Remote procedure call
- Data serialization formats
- Computer network stubs