Facebookが同社のHTTPフレームワーク/サーバProxygenをオープンソース化

Facebookが今日(米国時間11/5)、Proxygenをオープンソースにする、と発表した。それはC++で書かれたHTTPライブラリで、同社が使っているHTTPサーバも含まれている。Facebookは最近いろんなものをオープンソースにしてきたが、その多くはモバイルデベロッパ向けだった。しかし今日の発表は、もっと広い範囲のデベロッパが関心を持つだろう。

Facebookによると、Proxygenはそもそも最初から、ApacheやnginxのようなHTTP/プロキシサーバに置き換わるものを志向していない。“彼らのプロジェクトはCで書かれたきわめて自由度の高いHTTPサーバを作って高いパフォーマンスを提供することが目的だが、構成(〜設定)の項目や値が途方に暮れるほど多い”、Facebookの技術者Daniel SommermannとAlan Frindellが今日の発表声明の中でこう書いている。“逆にわれわれは、C++によるパフォーマンスの良いHTTPフレームワークを目標とし、サーバもクライアントのコードも妥当なデフォルトで間に合うよう努めた。そして、既存のアプリケーションへの統合が容易であることも”。

それでも、このフレームワークを使うとイベントドリブンのサーバを手早くセットアップでき、HTTPとSPDYのリクエストを処理できる。特殊な機能を持ったWebサーバを作りたいデベロッパが、そのベースとしてProxygenのコードベースを利用することもあるだろう。

SommermannとFrindellによると、Proxygenは2011年に始まったプロジェクトから進化したもので、当初は自由なカスタマイズのできるリバースプロキシロードバランサだった。

FacebookはそのHTTPスタックとしてApacheやnginx、Varnishなどを使うこともできたはずだが、技術者たちは、独自のフレームワークを作った方がFacebookの既存のインフラストラクチャやツールとのより深い統合が可能だ、と主張した。たとえば、Facebook自身が作ったApache Thriftなどがその典型的な例だ(今ではGitHubで入手できる)。

チームは今、このフレームワークをFacebookの今の大きさに合わせてスケールアップする方法を模索しており、また、ほかのツールでの再利用にも努めている。たとえばHaystackやHHVM、Facebookのロードバランサ、同社のモバイルインフラストラクチャなども、何らかの形でProxygenを利用している。

これまでにProxygenは、“何兆という天文学的な数のHTTP(S)/SPDYリクエストを処理してきた”から、相当現場で鍛えられたコードであることは確かだ。そのソースコードはここにあり、Proxygenの詳細な説明がここにある。

[原文へ]
(翻訳:iwatani(a.k.a. hiwa))


投稿者:

TechCrunch Japan

TechCrunchは2005年にシリコンバレーでスタートし、スタートアップ企業の紹介やインターネットの新しいプロダクトのレビュー、そして業界の重要なニュースを扱うテクノロジーメディアとして成長してきました。現在、米国を始め、欧州、アジア地域のテクノロジー業界の話題をカバーしています。そして、米国では2010年9月に世界的なオンラインメディア企業のAOLの傘下となりその運営が続けられています。 日本では2006年6月から翻訳版となるTechCrunch Japanが産声を上げてスタートしています。その後、日本でのオリジナル記事の投稿やイベントなどを開催しています。なお、TechCrunch Japanも2011年4月1日より米国と同様に米AOLの日本法人AOLオンライン・ジャパンにより運営されています。