9

私の組織は、asp.net アプリケーションである新しいシステムを実装する準備をしています。アプリケーションには、Web サイトによって開始されるオフライン作業の大きなキューがあります。このキューは、理想的には XML メッセージで、さまざまな種類のアクティビティを保持します。メール通知、スケジュールされたタスクなどを考えてみてください。

以前は、組織は MSMQ を使用してこのタスクを実行していた可能性があります。ただし、彼らは MSMQ を古い学校と見なしているため (私も部分的に彼らに同意します)、「最適な」ソリューションを決定するためにアーキテクチャのレビューを行う予定です。

考えられる選択肢はいくつかあり

ます。 1. MSMQ の最新バージョンでの新しい実装に固執します。これは理想的ではありませんが、既知の製品です。
2. Windows Workflow Foundation を使用します。これは、この種の目的でこれを使用している他の数人の開発者から聞いたことがあります。
3. カスタム データベース ソリューションを開発します。

明らかな解決策がありませんか?これは理想的には Microsoft 製品ですが、実際には Microsoft 中心のショップで動作する必要があります。

私が懸念しているのは、次の点です
。 1. 実装と保守の容易さ
2. しばらくの間使用できるソリューション
3. 中サイズの XML データを含む大量の行を処理できること
4. 迅速な更新を備えた絶対的に信頼性の高いキュー システム (複数のユーティリティ プロセスがキューからレコードを取得して処理する可能性があります)。

4

8 に答える 8

13

投稿を読むと、MSMQ が適切ではないと考える唯一の理由は、誰かがそれを「古い学校」だと考えているからだと思われます。あなたの会社はそれを経験しているように見えるので、それを使用しない十分な理由ではないと思います。したがって、学習曲線はなく、実装と保守が簡単です。

さらに、MSMQ は、あなたが言及したすべての懸念に完全に対処します。したがって、それを使用しない別の「本当の」理由がない限り、MSMQ を使い続けると思います。

于 2008-12-01T01:48:51.863 に答える
3

WCF を調べることをお勧めします。永続的なキューメッセージを指定するように構成でき、内部で MSMQ テクノロジを使用しています。WCF の抽象化/インターフェイスとテクノロジは、かなり長い間存在するはずです。

于 2008-12-01T01:40:36.137 に答える
2

ActiveMQ (上記) の代替として、オープンソースの RabbitMQ があります。彼らが言うところによると、ASP.NET および WCF とうまく統合されます。

http://www.rabbitmq.com/

于 2009-06-08T22:35:13.207 に答える
2

MSMQはおそらくあなたが固執すべきものであるというムース・イン・ザ・ジャングルに同意します.

Udi DahanのnServiceBusのように、隠れて MSMQ を使用する代替 API を調査するかもしれません。

于 2008-12-01T14:29:59.737 に答える
1

SQL Server の Service Broker を調べましたか? データベースをバッキング ストアとして使用するキューイング システムです。

于 2008-12-01T01:38:19.620 に答える
0

ただし、システム全体のように思えますが、Windows Workflow を使用してビジネス ロジックを管理し、MSMQ をタスク リストのストレージとして使用することができます。ワークフローは、次のメッセージをキューから取り出すことから始まり、それをどう処理するかを決定します。

待ち行列は、自分自身を台無しにしたくないものです。機能し、すでに多くの人々によってテストされている既製のものに信頼を置いてください.

于 2009-02-16T09:24:12.353 に答える
0

いくつかのオプションがあります。

  1. Biztalk: 企業レベルでのメッセージ配信とルーティングが保証されるように構築されています。セットアップが難しく、高価で、学習曲線が急勾配ですが、一度オンにするとしっかりしています.

  2. MSMQ: 高速で、無料のように安価で、使いやすく、単純に機能します。

  3. SQL サービス ブローカー。これは MSMQ からのステップアップですが、Biztalk からの大きなステップダウンです。

主な問題は、必要な機能セットに要約されます。Biztalk はほとんど独自の開発環境です。一方、MSMQ では、その周りにすべてを構築する必要があります。

于 2008-12-01T04:12:01.403 に答える
0

Apache ActiveMQなどのオープン ソース メッセージ ブローカーの使用を検討できます。

于 2008-12-01T10:39:28.920 に答える