Facebookはサンフランシスコで米国時間9月15日に開催された技術サミット「@Scale 2014」で、スケーラビリティが必要となるシステムの構築や保守にかかわるエンジニア向けのプロジェクトをいくつか紹介した。
最初のプロジェクトは「mcrouter」と呼ばれている。mcrouterは、分散型メモリキャッシュシステムである「memcached」のプロトコルに対応したルータ機能であり、オープンソースBSDライセンスの下で公開される。
Facebook自身も、インバウンドトラフィックおよびアウトバウンドトラフィック、そして世界中に展開している同社のデータセンター内に分散されている多くのクラスタ間をまたがる膨大な数のキャッシュサーバ間におけるトラフィックすべてを管理するためにmcrouterを利用している。
FacebookのEngineeringチームが同社ブログに15日に投稿したところによると、このコードによって「大規模システムに関するFacebookのノウハウを、理解しやすく、配備しやすいパッケージのかたちで活用できるようにすることで、多くのサイトが高いスケーラビリティをより容易に実現できるようになる」という。
Instagramも、Facebookのインフラへの移行を待たずに2013年からmcrouterを利用している。
このためFacebookのエンジニアらは、mcrouterが「Amazon Web Services」環境でも機能し、Facebook自身のデータセンター用として生み出されたプロジェクトでしか機能しないものではないと誇らしげに述べている。
FacebookはRedditとも提携している。Redditは現在、限定されたベータテストの一環として本番環境の一部のキャッシュでmcrouterを稼働させている。mcrouterのソースコードは現在、開発者およびエンジニア向けにGitHubで公開されている。
この記事は海外CBS Interactive発の記事を朝日インタラクティブが日本向けに編集したものです。