JogNoteの写真投稿機能はMogileFSを使って実装されています
今日、JogNoteの記録に写真を投稿できる機能をリリースしました。
この写真投稿機能は、ストレージとしてMogileFSを使っています。
システム構成を図にすると、次のような感じになっています。
ちなみにこの図はgliffyというブラウザ上で図が作成できるサービスのフリーアカウント版で作りました。
使用しているサーバは、さくらインターネットの専用サーバです。回線は10Mスタンダードで、OSはCentOS 4を使用しています。前にFreeBSDにMogileFSをインストールする記事を書きましたが、あれからいろいろ問題が起こり、安定運用させるためにはLinux上で動作させるほうが安心、ということで、CentOS上で稼働させることにしました。
外部からのリクエストを一手に引き受けるリバースプロキシは、MogileFSのサーバ群だけでなく、JogNote本体のサービスの入口でもあります。リバースプロキシにはnginxというhttpdを使用しています。
MogileFSは3台のマシンで動作しており、そのうち2台でデュアルマスタによる冗長化をしたMySQLと、MogileFSを便利に使うためのラッパーAPIが動作しています。このラッパーAPIは、写真のアップロードやサムネイルの生成、アクセストークン付きのURLの発行などを行います。
ウェブ上の情報を探してた限りだと、現在のところMogileFSを用いてウェブサービスを運用しているところは、そんなに多くないように思います。JogNoteの一部としてMogileFSを運用し、そこで得たノウハウをここで紹介できたらいいなと思っています。