2011-10-27 9 views
4

私はC#用のメッセージキューイングソリューションの調査の初期段階にあり、経験、教訓、戦争物語などに感謝したいと思います。 MSMQの構成に対する適合性に関する特定の質問インターネットに接続された分散C#クライアント用のメッセージキューイングソリューション

簡潔に言うと、私たちには分散アーキテクチャがあります。さまざまなサーバーサイドイベントが、展開されたクライアントによって取得される作業項目を生成します。これらのクライアントはサーバーに接続し、作業を取り出して処理し、次に「作業を待っています」に戻ります。

これらのクライアントについての関連の詳細のカップル:

  1. 今日はクライアントインストールの数百を持っており、今後18ヶ月で数万人に成長のための準備をしておく必要があります。
  2. クライアントはサーバーにタスクを送信しません。「プルのみ」です。
  3. クライアントへのペイロードは、それぞれ< = 1Kです。
  4. 重量のある認証やトラフィックの暗号化は必要ありません(これは素晴らしいボーナスですが)
  5. クライアントは、さまざまなMSオペレーティングシステム(> = WinXP-SP1)で動作します。いくつかは、Windowsのアクティブディレクトリ、Windowsドメイン、または特別なワークグループの一部です。
  6. ほとんどの場合、クライアントはアイドル状態です。私たちは効率的に「仕事を待って」、できるだけ早く作業に取り掛かっていきたいと考えています(待ち行列に入れた後にクライアントがすぐに作業項目を受け取れるようにしたい)
  7. 時々、クライアントはインターネットから一度消えます。マシンは一日中、または一晩中閉鎖されます。作業アイテムがオンラインに戻ったときに作業アイテムが到着するようにします。言い換えれば、メッセージの信頼性が必要です。
  8. (私たちのインストーラがすでに存在しない場合は、.NET 3.5のような前提条件ソフトウェアをインストールしませんが)私たちは、上記の、だから、

をクライアントとサーバーのすべてのコードではなく、クライアント環境を制御する - 意志MSMQは私たちのために「自然に」働いていますか? MSMQがドメイン/アクティブディレクトリにないときや、インターネットを介して接続しているときに、メッセージを受信するクライアントをMSMQがどのように処理するかについての明確な答えは見つかりませんでした。これまでのところ、MSMQに関する私の読書は、 "エンタープライズ中心の"ものだと感じています。企業以外の要件はMSMQの問題になるでしょうか?

これまで同様の設定で他にどのようなソリューションを使用していましたか?

もちろん、他にどのような質問が必要ですか? ;-)

ありがとう!

答えて

2

リモートクライアントがメッセージを読むのを待っているキューを持つキューを持つ中央のサーバーをインターネットで見ている場合、MSMQは製品ではありません。 MSMQはHTTPを使用してインターネット経由でメッセージをプルできません。 ポート135を開いてRPCプロトコルを使用する必要があります。これはインターネット上では必ずしも良い考えではありません。

乾杯 ジョンBreakwell

関連する問題