4

以前に MSMQ を使用したことがないので、それを使用するためのクライアント環境要件がまったく明確ではありません。

私は、レガシー システムと統合するクライアント/サーバー ソリューションを設計しており、メッセージングを得意としています。MassTransit のようなサービス バスの実装を使用したいのですが、それには MSMQ が必要です。

すべてのクライアント PC に MSMQ がインストールされていることを確認する必要がありますか?

これを管理者パスワードの管理者に売る見込みはあまりないと思います。

現時点では、すべてのクライアント マシンに Windows XP Professional がインストールされていることを確実に期待できますが、これは変わる可能性があり、最近の OS では MSMQ が既定でインストールされていないことを理解しています。これはさらに大きな頭痛の種になるでしょう。

誰かがこれがどのように機能するかを説明できますか? 重要な何かを見逃していない限り、商用ソフトウェアが MSMQ にどのように依存できるか想像できません (そうであることを願っています)。

(サーバーは問題ではありません。私はそこで完全に制御できます。)

4

3 に答える 3

5

ESB (または MassTransit や NServiceBus のような軽量オプションでさえ) は、実際にはクライアント/サーバー通信用には設計されていません。バックエンド サービスと通信する必要があるシック クライアント アプリケーションがある場合は、代わりにクライアントが通信する SOAP や REST レイヤーを構築する方が賢明な場合があります。そのサービス レイヤーの背後では、スケーリングの要件に応じて、メッセージングを内部的に使用できます。メッセージングは​​、キャッシングなどの他のテクノロジーとともに、非常に動的な負荷を処理するのに非常に役立ちます。

クライアントでメッセージングを行いたい場合は、ブローカー スタイルのメッセージング システム (ActiveMQ が適しています。これは通常の TCP/IP 接続です) を使用して、クライアントからそれに接続することを検討してください。これは方法であり、状況によっては必ずしも最善の方法ではありません。MassTransit は ActiveMQ を使用できるため、MSMQ/ActiveMQ のプログラミング API をより汎用的なトランスポート インターフェイスに抽象化できます。

分散システムの設計には多くのオプションがあります。クライアントからクライアントへの通信とクライアントからサーバーへの通信が必要かどうかは、さまざまなテクノロジ オプションを区別するのに役立ちます。

于 2010-01-28T22:08:18.167 に答える
2

あなたの基本的な質問に答えるために。はい。すべての PC で MSMQ サービスを実行する必要があります。MSMQ は、一般的なユーザー向けのソフトウェアではなく、エンタープライズ向けであると思います。サーバー間の通信です。私は確かに間違っている可能性がありますが、あなたが求めている制限により、商用ソフトウェアにどのように使用できるかわかりません.

于 2010-01-28T14:30:59.393 に答える
0

私の経験からの答えは次のとおりです。大量輸送機関を使用する場合は、msmq ではなく rabbitmq を使用してください。cf Masstransit: 中央の msmq サーバーを使用できますか? (または、最初から RabbitMQ を使用して開始する必要がありますか?)

于 2014-04-25T17:59:18.640 に答える