web.archive.org

Apache Thrift

  • ️Thu Oct 07 2010
Apache Thrift
Developer(s) Apache Software Foundation
Stable release 0.5.0 / 7 October 2010; 3 months ago
Type Remote procedure call framework
License Apache License 2.0
Website http://incubator.apache.org/thrift/

Thrift is a remote procedure call (RPC) 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, Ruby, and ActionScript[1]. 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, now hosted on Apache.[2]

Benefits

Some stated benefits of Thrift include:

  • Cross-language serialization with lower overhead than alternatives such as SOAP due to use of binary format
  • 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.
  • No build dependencies or non-standard software. No mix of incompatible software licenses.

See also

References

External links

v · d · eApache Software Foundation
Top level projects

Abdera · ActiveMQ · Ant · Apache HTTP Server · APR · Buildr · Camel · Cassandra · Cayenne · Click · Cocoon · Continuum · CouchDB · CXF · Derby · Directory · Excalibur · Felix · Forrest · Geronimo · Gump · Hadoop · Harmony · HBase · Jackrabbit · James · Karaf · Lenya · Maven · mod_perl · MyFaces · ODE · OFBiz · OpenEJB · OpenJPA · POI · Pivot · Qpid · Roller · Shindig · Shiro · Sling · SpamAssassin · stdcxx · Struts · Subversion · Tapestry · Tomcat · Trafficserver · Tuscany · Velocity · Wicket · XMLBeans

Jakarta Projects

BCEL · BSF · Cactus · JMeter

Commons Projects

Daemon · Sanselan · Jelly

Lucene Projects

Lucene Java · Droids · Lucene.Net · Lucy · Mahout · Nutch · Open Relevance Project · PyLucene · Solr · Tika

Hadoop Projects

Avro · HDFS · Hive

Other projects

Buildr · Chainsaw · Xerces · Batik · FOP · Log4j · XAP · River · ServiceMix · Log4Net · Abdera · Ivy · Wink · MINA

Incubator Projects

ACE · Aries · Bluesky · Composer · Empire-db · Hama · JSPWiki · Thrift · UIMA · XAP · Wink · libcloud

Apache Attic

AxKit · Beehive · HiveMind · Slide · Shale · iBATIS

License: Apache License · Website: http://apache.org/
v · d · eFacebook
Overview
Website
People

Founders

Employees

Current

Mark Zuckerberg (CEO) · Chris Cox (VP of Product) · Sheryl Sandberg (COO) · Peter Thiel (director) · Ted Ullyot (general counsel) · Randi Zuckerberg (marketing) · Andrei Alexandrescu (research scientist)

Former

Sean Parker (President) · Gideon Yu (CFO) · Adam D'Angelo (CTO) · Charlie Cheever (programmer) · Matt Cohler (product manager) · Chris Kelly (privacy) · Andrew McCollum (graphic artist)

Software
Other

This entry is from Wikipedia, the leading user-contributed encyclopedia. It may not have been reviewed by professional editors (see full disclaimer)