分散式メッセージングサービスとか考えてみる。
Twitterとかそのほか色々流行ってますよね。
ついにmixiも真似しはじめたくらいだし。
サーバへの一極集中になっちゃうので、これを分散させる(各個人のサーバで動かす)にはどうしたらいいのかなーと思いまして。
色々考えてみました。漠然と(笑)
●ベース=ここの前提は変えない
・通信プロトコルはHTTPだけで構成。(UI/API/クライアント間通信すべて)
・ユーザーが簡単に設置(インストール)できること。DBとかは使用しない。
・言語はPHPかなー。rubyでCGIでもいいけど。
●基本構造
・チャットと同じ。
●フォロー
・フォローされた側がフォローした側に(HTTP経由で)データを渡す構造。
・更新されたら(フォローしてる側の)クライアントにXMLで渡す
・クライアントは受け取ったデータが本当にフォローしてる側のものかを確認(照合)
●フォロー処理の問題点
・認証構造。へたするとクラックされてspamを送りつけられる。
・フォローされた数が多くなったら(100超えるとかそんなかんじ)、クライアントへの送信がネックになる
→中継(hub)サービスの設置と実装が必要?
●中継(hub)サービス
・配信中継するサーバ。1つのサーバからきたメッセージを複数のクライアントに送信。
・本当に中継だけでもいいし、同時にメッセージングサービスを動かして、内部で配信、とやってもOK。
・えっと・・・つまり、うまくやると、違うメッセージングサービスの内容を1つのタイムラインにのっけちゃうことも可能になっちゃうかも。
・・・ここまで書いて。
SMTPとかNNTPとか、なんかそういうのに近いのが浮かびました。
メールだとメーリングリスト配信とかそういうノリ。
正直なところ・・・絶対誰かが既に考えてるよね(^^;
でも、面白そうなんで組んでみるかなー?
| 固定リンク
この記事へのコメントは終了しました。
コメント