安全、かつ効果的にデータを配信する「PubSubHubbub」
フィードがブログやCMSで当たり前のように使われるようになっており、さらにWeb APIなどを公開したことによって人が使う以外のシステムからのアクセスが非常に多くなっている。一見しただけではDOSアタックと見分けがつきづらいくらいアクセスしてくるものも存在する。
配信システムのコンテンツ作成
そのような過負荷なやり取りを一つのサーバで行うのは無理がある。そこで提言されているのがPubSubHubbubだ。
今回紹介するオープンソース・ソフトウェアはPubSubHubbub、オープンなコンテンツ配信、購読プロトコルだ。
PubSubHubbubは全部で3つの技術からなる。一つは配信サーバ、もう一つは購読システムそして最後にハブだ。ハブは配信サーバと購読システムに間に立つ。購読システムは常にハブに対して購読の申し込み(Atom形式)を行う。
購読システムの設定
その後がちょっと変わっており、ハブから購読システムにコールバックで詐称がないか確認する。そこで購読システム側も了承の旨を伝えると、ハブが配信サーバにデータを取得する。そしてハブから各購読システムに対して配信を行う。配信する際にはハブから購読システムを呼び出す形になるので、より効率的な配信が可能になる。
これにより配信サーバが一つであってもハブを多数増やすことによってスケールできるようになる。またDOSアタックのようなものも、ハブを仲介しさらにコールバックを用いることで安全性を高めることができるようになる。
システムはGoogle App Engineで動作するようになっており、配信サーバ/購読システム/ハブの3つのシステムそれぞれについてデモ版が提供されている。フィードやWeb APIはアクセスが非常に激しく、システムの負荷を高めるのでこのような仕組みは重要になるのではないだろうか。
**pubsubhubbub -Google Code