読者です 読者をやめる 読者になる 読者になる

東京データセンターオープン!

Gyazoのサーバーはどこにあるかご存じですか? 実はこれまで北アメリカの東海岸に拠点がおかれてきました。



Gyazoは、北米やヨーロッパにも利用者が多いので、北米のユーザーにとってみれば問題はなかったのです。
しかし、これでは日本からのアクセスは、日本にサーバーを置いている場合と比べて、ゼロコンマ何秒か遅延が発生してしまい、動作が重く感じるという課題がありました。

GoogleFacebookなどは世界中にデータセンターを持ち、個々の地域で最速のスピードを追求しています。当然Gyazoもそれを目指したい。

サーバーなどのハードウェアに関しては、最近はクラウドのサーバー資源を借りることができるので簡単に調達できるようになっていますが、問題はソフトウェアの設計です。特にデータベースをどのように分散運用するか。Gyazoの場合は、メインにMongoDBを使っていますので、MongoDBを大陸間でレプリケーションさせて、中心を北米におき、日本のサーバーはデータを読み込むときは日本から、書き込むときは北米という設計をMongoDBの標準機能を使って実現しました※。書き込むときはこれまで同様若干の遅延が発生しますが、読み込みは他の国内サーバーと同レベルのスピードが出るようになりました。

特に、自分の画像一覧のすごいスクロールなどを使っているときに速さが実感できると思います。ぜひお試しください。

今後ともGyazoは、速度と快適性を追求します。


*大陸間分散レプリケーションに関して詳しく知りたい方は、MongoDBのマニュアル(Deploy a Geographically Redundant Replica Set)などが参考になります。Read Preference(読み込み設定), Write Concern(書き込み保障)など、MongoDBは、最初から大陸間のデータ同期に適した機能がついています。
これにアクセス元の地域によって接続先のサーバーを振り分ける機能がついたDNS(geo aware DNSなどと呼ばれます)を組み合わせて利用します。