• BPnet
  • ビジネス
  • IT
  • テクノロジー
  • 医療
  • 建設・不動産
  • TRENDY
  • WOMAN
  • ショッピング
  • 転職
  • ナショジオ
  • 日経電子版
  • PR

  • PR

  • PR

  • PR

  • PR

ニュース

【日本Rubyカンファレンス2006】はてな,Webのスクリーンショットを作成/表示するサービスをRubyの分散オブジェクトとRuby on Railsの組み合わせで実現

大森 敏行=日経ソフトウエア 2006/06/12 日経ソフトウエア
[画像のクリックで拡大表示]

 はてなの舘野祐一氏は2006年6月11日,東京お台場で開催された「日本Rubyカンファレンス2006」で,5月下旬にサービスを開始した「はてなスクリーンショット」が,分散オブジェクトを実現するライブラリ「dRuby」とRubyのWebアプリケーション・フレームワーク「Ruby on Rails」(Rails)を使って構築されていることを明らかにした。はてなスクリーンショットは,Webページのスクリーンショットを作成/表示するサービスである。

 はてなスクリーンショットのアプリケーション・サーバー,データベース・サーバー,Webサーバーの機能は1台のサーバーに集約している。このサーバーでRailsを動かしている。静的コンテンツは,軽量なWebサーバーであるlighttpd,動的コンテンツは,Rubyで書かれたWebサーバーであるmongrelを使って表示している。データベースはMySQL 5.0。アクセス数は1週間で20万PV程度であり,これくらいのアクセスなら余裕で処理できるという。

 スクリーンショットを撮影するためにWebを巡回するサーバーには,Windowsマシンを2台使っている。撮影できるスクリーンショットは2台で毎分120枚,1日17万枚。舘野氏によると,最初はLinuxでスクリーンショットを撮ろうとしたが安定しなかったり遅かった。それでWindowsでIEコンポーネント・エンジンを使って撮影するようにしたところ,うまくいったという。

 dRubyは,Railsサーバーと巡回サーバーの間のやり取りに利用している。巡回サーバーは,RailsサーバーのサービスからdRubyオブジェクトを受け取る。そして,指定されたURLのWebページのスクリーンショットを撮る。撮った結果はdRubyオブジェクトに渡すだけでいい。これにより,モデルはRailsサーバー側,巡回や撮影は巡回サーバー側に実装を集約できる。巡回サーバーを増やすには,新しいWindowsサーバーにRubyをインストールし,巡回/撮影用のアプリケーションを起動するだけ。舘野氏はdRubyの利点を「表側のWebアプリケーション以外にも,(裏で)dRubyを使った便利な処理ができる」と語る。「dRuby最高」(舘野氏)。

 ちなみに,舘野氏がdRubyを使うようになったのは,日本Rubyの会の有志によるウェブ雑誌「Rubyist Magazine」(るびま)の1周年記念企画プレゼントで「dRubyによる分散・Webプログラミング」(著者は関将俊氏,オーム社発行)が当選したからだという。「これがなかったらはてなスクリーンショットはリリースされていなかったかも」と同氏は語る。

あなたにお薦め

連載新着

連載目次を見る

今のおすすめ記事

ITpro SPECIALPR

What’s New!

経営

アプリケーション/DB/ミドルウエア

クラウド

設計/開発

サーバー/ストレージ

クライアント/OA機器

ネットワーク/通信サービス

セキュリティ

もっと見る