Facebook Open Sources Thrift Protocol ... Again

Thor Olavsrud | CIO | February 20, 2014

After more than six years of internal development of its branch of the cross-language framework that powers its internal services, Facebook has released that branch to open source and hopes to work with the Apache Thrift community to incorporate the work.

Facebook today "re-open-sourced" the Thrift binary communication protocol with its own internal branch of Thrift, which is designed to provide a new set of core features and crank up performance.

Facebook Software Engineer Dave Watson explains that the company always wants to choose the best tools and implementations for its backend services, regardless of programming language. By using programming languages on a case-by-case basis, it can optimize performance, ease and speed of development, leverage existing libraries and so on.

"To support this practice, in 2006 we created Thrift, a cross-language framework for handling RPC [remote procedure calls], including serialization/deserialization, protocol transport and server creation," Watson says. "Since then, usage of Thrift at Facebook has continued to grow. Today, it powers more than 100 services used in production, most of which are written in C++, Java, PHP or Python."