Skip to main content

Facebook Open Sources Its Proxygen HTTP Framework And Server


Facebook today announced that it is open sourcing Proxygen, the C++ HTTP libraries — including an HTTP server — that it uses internally. The company has open-sourced quite a bit of its code in recent months, much of it focused on mobile developers. In many ways, today’s launch is more interesting, though, as it’s likely to reach a far wider number of developers.

From the get-go, Facebook notes that it isn’t trying to replace popular HTTP and proxy servers like Apache or nginx with Proxygen. “Those projects focus on building extremely flexible HTTP servers written in C that offer good performance but almost overwhelming amounts of configurability,” Facebook engineers Daniel Sommermann and Alan Frindell write in today’s announcement. “Instead, we focused on building a high performance C++ HTTP framework with sensible defaults that includes both server and client code and that’s easy to integrate into existing applications.”

Still, the framework allows you to quickly set up an event-driven server that can handle HTTP and SPDY requests. Chances are that other projects will look at this and use it as the basis to build their own web servers on top of this codebase.

Proxygen evolved from an earlier project in 2011 that aimed to write a customizable reverse-proxy load balancer, Sommermann and Frindell say.

While Facebook could have gone with Apache, nginx or Varnish as its HTTP stack, the engineers argue that building their own framework allowed the company to integrate more deeply with Facebook’s existing infrastructure and tools like the company’s version of Apache Thrift (which is also now available on GitHub).

Given Facebook’s size, the team was also looking for a solution that could scale beyond existing solutions, and the company wanted to be able to reuse the framework in other tools. Haystack, HHVM and Facebook’s load balancers also use Proxygen in some form or another, for example, as does the company’s mobile infrastructure.

By now Proxygen has handled “many trillions of HTTP(S) and SPDY requests,” so this is definitely some pretty battle-hardened code by now. You can find the source code here and a more in-depth description of how Proxygen works here.

Popular posts from this blog

How To Hide Text In Microsoft Word 2007, Reveal It & Protect It

Sometimes what we hide is more important than what we reveal. Especially, documents with sensitive information, some things are supposed to be ‘for some eyes only’. Such scenarios are quite common, even for the more un-secretive among us. You want to show someone a letter composed in MS Word, but want to keep some of the content private; or it’s an official letter with some part of it having critical data. As important as these two are, the most common use could involve a normal printing job. Many a time we have to print different versions of a document, one copy for one set of eyes and others for other sets. Rather than creating multiple copies and therefore multiple printing jobs, what if we could just do it from the same document?  That too, without the hassle of repeated cut and paste. We can, with a simple feature in MS Word – it’s just called Hidden and let me show you how to use it to hide text in Microsoft Word 2007. It’s a simple single click process. Open the docum...

Boom, the startup that wants to build supersonic planes, just signed a massive deal with Virgin

Have you heard about Boom? Boom is a relatively new startup that’s aiming to build something pretty crazy. They’re not building an app… or a social network… or even some new gadget for the Kickstarter crowd. Boom wants to build planes. Really, really, really fast planes. Specifically, they’re trying to design and build a supersonic passenger plane that goes 2.2x the speed of sound. If all goes to plan, they’ll be able to shuttle people from New York to London in 3.5 hours, and SF to Tokyo in 4.5. Sound crazy? I wouldn’t disagree. It’s worth noting that the company is in the very early days for something as intensive, massive, and hugely expensive as designing and producing a passenger aircraft. They’re still working on their first prototype, and hope to fly it by late next year. But it’s also worth noting that the team behind the plane has some serious talent in its blood: the company’s 11 employees have collectively contributed to over 30 aircrafts — having worked on thin...

Fun Tools to Translate Your Name into Japanese Calligraphy

Japanese calligraphy is an artistic writing style of the Japanese language. Its Chinese origins can be traced back to the twenty-eighth century BCE. Calligraphy found its way into Japanese culture in 600 CE and is known as the karayo tradition. For Westerners, calligraphy is forever fascinating. However, it takes years to learn how to properly draw the signs. Two basic principles must be known to understand Japanese writing: there are different writing styles and different alphabets. Kaisho for example, is a writing style most commonly used in print media. Tensho on the other hand is used in signatures. Other writing styles are Reisho, Gyosho and Sousho. The alphabets include Kanji, Hiragana, and Katakana. Katakana is used for writing foreign words. It can also serve to highlight words, in analogy to capital letters as we know them from the Roman / Latin alphabet (Romaji in Japanese). Each Kanji character has a meaning of its own, while Hiragana or Katakana characters merely repres...