dreamobjectsを利用した画像アップローダを作ってみた。

2ちゃんねる画像アップローダという画像アップローダを作成しました。
高負荷にも耐えれる安定したサービスを目指して頑張っていますのでよろしくお願いします。
…というか悲鳴上げるほどアクセス増えて欲しいです。

2ちゃんねる画像アップローダ

動機

DreamObjectsというamazon S3と互換性のあるストレージサービスを最近知ったのでを作成してみました。
DreamObjectsがストレージ7¢/GB、Transfer Outも7¢/GB、API呼び出しは無料、先払いによる割引もあります。
S3の米国スタンダードリージョンが$0.095 /GB,$0.120 /GB,$0.01/1,000リクエストなのでずいぶん安くすみそうです。

さて、ここからはサーバの構成のお話です。

フロントエンド

さくらのVPS 1G」を利用しています。

DreamObjectsが転送料課金なのでnignxがメモリとHDDの大半を使いキャッシュをしています。また、phpを動かすのにapacheも動いています。
負荷が増えた場合、nginxとapacheのサーバを分離後、それぞれ並列化できるように設計しています。

データベース

DBってスケーリングしにくい(というイメージな)ので利用していません。
プログラムでRSSを出力してDreamObjectsにおいています。
Google Developers経由で一覧を作成しています。
件名等各種情報はファイルが持っています。

サムネイル

rethumb - image management serviceというサービスを利用しています。
一覧表示や画像ページ等元画像以外はこちらを経由しています。
リザイズ後の画像はキャッシュしてくれてるので負荷分散にも役立っています。
時々エラーが出たり、海外のサービスなので遅い等もあってオリジナルを作ろうか検討しています。

ストレージ

DreamObjectsを利用しています。
HTMLやCSS等もここに入っています。(phpのみフロントエンドにおいてあります)

現在は使用量が少ないので完全従量制を利用しています。
将来的には1TB PAN($54.95/mon)あたりが必要になると思います。
80円/$だと4,396円ですみますが120円/$だと6,594円と1,000円以上の差が付いてしまいます。
個人のサイフで海外のサービス利用すると為替リスクが怖いですね。

最後に

使い勝手が悪い、バグがある、仕組みに質問が有るなどありましたらコメントかツイッターにお願いします。
それでは2ちゃんねる画像アップローダをよろしくお願いします。