On Wednesday, Facebook announced the launch of an open source software framework called Proxygen to build new features early and roll out them into production environments. The framework is a collection of C++ HTTP libraries, including a web server.
The concept was perceived back in 2011, as a software library for developing proxy servers, which can act as an interface between an end user and a server used by Facebook, after being transformed into a bigger framework to add new web performance features in its infrastructure.
Proxygen can also be integrated with Facebook’s different infrastructure services and contains a reusable codebase that allows the company to tackle the latest web technology HTTP/2 and the next generation version of the HTTP web protocol.
Also Read: Facebook Apps Settings Page Gets New Layout
The company also wrote the architecture of the Proxygen in its Blog Post:
The core HTTP layer is split into a four-part abstraction: the session, the codec, the transaction, and the handler. For each connection, a session is created. Each session has a codec, which is a protocol-specific framing object for serializing and de-serializing HTTP messages. The session is responsible for mapping each message from the codec to a particular HTTP transaction. Finally, the user of the library implements a handler that registers for HTTP-specific callbacks from a single transaction. This design has allowed us to support new multiplexing protocols like SPDY and HTTP/2 without having to duplicate code.
Proxygen depends on Facebook’s open source library Thrift and Folly to make distributed applications for the company. It is now available for download at GitHub for developing a new type of networking codebase to speed up the development.