Redis等のpub-subモデルで連携しているアプリケーションで、
0. あるメッセージをSubscriberが受け取る
0. そこそこ負荷のかかる処理を実行する
0. 処理結果をPublishする
というプロセスがあるとします。
このプロセスを冗長化(+負荷分散)したい場合、どういった方法が考えられるでしょうか?
イメージとしては、単なるHTTPで動いているWebサーバの前にロードバランサを置くような構成を、Pub/Subモデル動いているアプリケーション(群)で実現したいといった感じです。
パッと思いつくのは、
0. LoadBarance用のプロセスを作り、それをSubscriberにする
0. 当該の負荷のかかるプロセスはRest等でKickできるようにしておく
0. LoadBarance用プロセス内部で自分でラウンドロビン等の処理を書き、割り振るサーバを決定する
0. 割り振られたサーバはRestでメッセージを受け取り、処理結果をPublishする
といったところですが、何かデファクトスタンダード的な手法があるようであれば、ご教示いただけると幸いです。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2015/08/14 22:20
2015/08/15 01:22 編集
2015/08/15 13:32
2015/08/15 14:48