
11/5/2014 · Daniel Sommermann, Alan Frindell
What this post added
Introduced Proxygen, a C++ HTTP framework with server and client code, supporting HTTP/1.1, SPDY/3, SPDY/3.1, and developing HTTP/2 support. Proxygen was built for deep integration with Facebook infrastructure, code reuse across internal systems, scaling challenges with existing stacks, and implementing specific features like SPDY, WebSockets, and custom load-scheduling algorithms. The architecture is based on a four-part abstraction: session, codec, transaction, and handler, leveraging Thrift and Folly. Benchmarks of the echo server demonstrate parsing efficiency for binary protocols. Proxygen enabled rapid experimentation with HPACK on SPDY and quick adoption of evolving internal configuration systems.