この質問の一部は、正確に何を尋ねる必要があるかわからないので、私はその状況から始めてそこから作業します。ウェブファームのサービスバス(たぶん?)
私が取り組んでいるプロジェクトの1つに、aspCometライブラリによるCOMETの使用があります。プログラムのユースケースは、いくらか協調的なスライドショーです。 1人の人間が大部分を実行し、1人または複数の参加者が特定のアクションを実行できます。画面上でアクションが実行されるまでの待ち時間が短い
これまでは、1台のサーバー上で実行されていました。さて、パフォーマンスの理由よりも信頼性を高めるために、少しだけスケールアウトしたいと思っています。だから、Rackspaceのクラウドにはいくつかのボックスがあり、楽しいものがすべてある。
私は、同じ「ショー」の異なる人々が異なるサーバー上にいる可能性があるため、COMETの仕組みにいくつかの変更を加える必要があることを知っていました。彼らがサイトにすでに到着するまで、彼らが所属しているものは何か?
私は最初、よく説明されていなかったWCFメッシュプロバイダを使用してこの問題に取り組んだ。今はメッセージをディスパッチして問題に遭遇していることがあります。何が起こっているのか)、それはCOMETの長い投票をねじ込み、ちょっと変わったやり方で壊してしまいます(ボタンをクリックするとイベントが発生するか、10秒間待つことになります) )。
多くの研究により、.Netサービスバスプロバイダの1つが私の必要とするものを実行できると信じています。
- シングルポイントのピアのないハードコード:しかし、私は私が必要なものをカバーしなくなる例を見つけることができません。
- ニアリアルタイム(ポーリングなし、最高のだろうベースのイベント)
私の理想的なソリューションは、サーバーが起動したとき、それはでちょうど行の場合でも、他のサーバーは(その存在を知ることができますことを伴うだろうテーブルのどこかに)、それぞれのサーバーがパブリッシャとサブスクライバの両方である、相互にブロードキャストメッセージを送信し始めることができます。これは私がWCFメッシュプロバイダで多少持っていたものですが、私はあまりコードに自信がありません。
誰も私にこれを正しい方向に向けることができますか?サービスバスプロバイダのためのドキュメントで探す適切な用語でさえ、この時点では良いでしょう。それともサービスバスは私が望むものではありませんか?この時点で、各Webサーバー上にJabberサーバーを設定し、それが自分の制約内に収まるかどうかを判断するために解決します。
ロングポーリングを行わずにデータを取得するためにリアルタイムに近い場合は、RabbitMQを使用してデータをキューに入れ、HTTPストリーミングを使用することをお勧めします。 – rpgmaker