ニコニコ動画とリンクしたソーシャル百科事典サービス「ニコニコ大百科」を運営する、未来検索ブラジルの技術者である末永匡氏が4月17日、自身のブログでニコニコ大百科のアーキテクチャを公開した。低価格ミニノート「EeePC」を採用するなど、独自の構成が話題となっている。
ニコニコ動画とリンクしたソーシャル百科事典サービス「ニコニコ大百科」を運営する、未来検索ブラジルの技術者である末永匡氏が4月17日、自身のブログでニコニコ大百科のアーキテクチャを公開した。ウェブサービスらしいウェブページ+アプリ+DBの三層構造にはなっているが、リクエストを受け付けるフロントに低価格ミニノートの代名詞「EeePC」を採用するなど、独自の設計思想と実装手段が冴え渡った揺るぎない構成が話題となっている。
EeePCが採用されているのはニコニコ大百科のフロント部分で、すべてのHTTPリクエストを受け付けてLVS(Linux Virtual Server)でロードバランスし、セッション情報をrepcached(memcachedにレプリケーション機能を追加実装したもの)に保持している。EeePCでは、ログを止める、tmpfsを使うなど、徹底的にファイル書き出しを排除している。
EeePCが受け付けたHTTPリクエストは、3台のWebサーバーに振り分けられる。WebサーバーにはDellの安価な1Uサーバー「PowerEdge 860」、OSはDebianが採用されており、lighttpd 1.4.19にニコニコ大百科専用の「mod_nicodh」モジュールを組み込んでいる。さらに、「ほとんどのコンテンツが静的になるように注意深く設計」し、アプリケーションはRubyを用いて実装するがRailsは使用せず「テキトーなフレームワークを書き起こし」ているなど、多数の工夫がされている。
またDBサーバーもDellの「PowerEdge 860」が採用されているが、こちらはOSにFreeBSDが選ばれている。
【関連リンク】
・ニコニコ大百科のアーキテクチャ-グニャラくんのグニャグニャ備忘録@はてな
この記事は参考になりましたか?
- この記事の著者
-
CodeZine編集部(コードジンヘンシュウブ)
CodeZineは、株式会社翔泳社が運営するソフトウェア開発者向けのWebメディアです。「デベロッパーの成長と課題解決に貢献するメディア」をコンセプトに、現場で役立つ最新情報を日々お届けします。
※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です