Facebook Open Sources it’s C++ HTTP framework – Proxygen


Facebook Recently announces release of Proxygen as open source, Proxygen is the collect of C++ libraries and an easy to use HTTP server, in addtion to the HTTP/1.1, Proxygen also supports the SPDY/3 and SPDY/3.1

Proxygen History

Four years ago Facebook started proxygen to build a customized high performance HTTP/HTTPS and Reverse proxy load balancing server. Initially project was started to proxies but later it became a lot more, which you will see now and it will grow lot more in future.


  • 2011 – Proxygen development began and started taking production traffic
  • 2012 – Added SPDY/2 support and started initial public testing
  • 2013 – SPDY/3 development/testing/rollout, SPDY/3.1 development started
  • 2014 – Completed SPDY/3.1 rollout, began HTTP/2 development

Why Facebook build their own Stack ?

Proxygen is not designed to replace any available software stack such as Apache, nginx or Varnish . These project focuses on the larger section of  Servers. They are so well written and optimized for good performance but there are too many features that  requires a lot of configuration, So Facebook  went for writing their own custom framework which was purely build for High performance with the sensible defaults.

There are also few important as aspect stated by Facebook about building their own stack instead of using Apache, nginx, Varnish , HAProxy or any other available stacks.

  • Easy Integration
  • Code re-usability
  • Easy Scalability
  • New Custom Features

 Why Open Source ?

As Facebook Say’s

We’re committed to open source and are always looking for new opportunities to share our learning’s and software. The traffic team has now open sourced Thrift as well as Proxygen, two important components of the network software infrastructure at Facebook. We hope that these software components will be building blocks for other systems that can be open sourced in the future.

Get it

if you are willing to try this and use it in your own project , you can get it from GitHub

Add a Comment

Your email address will not be published. Required fields are marked *