Top | Technology | API |
|
きっかけ2011年3月11日に発生した大地震により,日本国内では多くの人々が情報を求めてインターネット上のツールを利用しています. 特に今回は,Twitterによる情報交換が盛んに行われており,短縮URLという形式で,有用なWebサイトの情報が拡散されています. しかし,残念ながら有用なWebサイトほどアクセスが集中し,閲覧できなくなる傾向にあります. 大手サイトであれば,大容量ホスティングサービスに移行したり,CDNと契約することによって解消できますが,小規模サイトには困難です. そこで,サーバ側の対応なしに,アクセス集中を緩和するメカニズムを考えてみました. 短縮URLからCDNを利用するメカニズムこのサイトでは,フォームからURLが送られると,CDNへのURLに書き換えます. たとえば,http://example.com/index.html であれば,http://example.com.nyud.net/index.html のようになります. それから,通常の短縮URLサービスのように,URLを短縮し,ページに表示します.
この短縮URLがTwitterなどによって拡散され,多くのユーザに届けられたとします.
ユーザが短縮URLにアクセスすると,まず本サイトにリクエストが送信されます
(下図ではこのプロセスを省略しています).
そして,CDNへのURLに展開され,ユーザはCDNへと転送されます.
あとは,CDNのメカニズムにより適当なサーバにページがミラーされ,負荷が分散されます.
CoralCDNこのサイトでは,CoralCDN という無料CDNを利用しています. これは,米国の大学を中心に2004年から運営されているCDNです. 世界中に展開された70以上のDNSと300以上のキャッシュサーバで構成されており,毎日1千万以上のリクエストをさばいています. ただし,CoralCDNではアジア地域のサーバが不足しているため,日本からの応答が遅いことがあります. あまりに遅いときは,リロードすれば他のキャッシュサーバにアクセスしにいきますので,試してみてください. CoralCDN を利用するために,契約などの手続きは不要です. URLのドメイン名末尾に .nyud.net を付与してください. このURLにアクセスすると,自動的にCDN上にキャッシュが作成され,以降のリクエストは分散されるようになります. なお,CoralCDN の負荷分散には,DHT という技術の亜種が利用されています. APIbit.ly 類似のAPIを提供しています.詳しくはこちら (英文) をご覧ください.ソフトウェアこのサービスで利用しているURL短縮・展開プログラムは,近日中に github で公開予定です. |