Apache Thrift
thrift.apache.org
2
Leaving SiteNav
External Link Disclaimer
You are about to visit thrift.apache.org. This website is not operated by us. We are not responsible for its content or privacy practices.
About this website
Apache Thrift is a software framework for scalable cross-language services development, originally developed at Facebook in 2007 by a team led by Mark Slee and Aditya Agarwal to solve the challenge of building efficient, language-agnostic RPC (Remote Procedure Call) systems across large-scale distributed architectures. Thrift combines a software stack with a code generation engine to build services that work efficiently and seamlessly between multiple programming languages including C++, Java, Python, PHP, Ruby, Erlang, Perl, Haskell, C#, Cocoa, JavaScript, Node.js, Smalltalk, OCaml, Delphi, and Go. The framework operates by defining data types and service interfaces in a simple Interface Definition Language (IDL) file (.thrift), from which Thrift generates all the necessary client and server code, serialization logic, and protocol handling for each target language. This eliminates the need for developers to manually write boilerplate networking code, serialization, and deserialization logic. Thrift's transport layer supports multiple protocols including TBinaryProtocol (compact binary), TCompactProtocol (space-efficient), TJSONProtocol (JSON encoding), and TDebugProtocol (human-readable). Transport options include TSocket (raw TCP), TBufferedTransport, TFramedTransport (for non-blocking servers), THttpTransport, and TMemoryTransport. Server types range from TSimpleServer (single-threaded) and TThreadPoolServer to TNonblockingServer (using select/poll for high concurrency). Thrift is used extensively at Facebook, Evernote, Last.fm, Cassandra (for inter-node communication), HBase, and Hadoop for internal service-to-service communication. The project is an Apache Software Foundation top-level project under the Apache License 2.0.
Statistics
2
Views
0
Clicks
0
Like
0
Dislike