5

NServiceBusで組み込みのMSMQメッセージトランスポートを使用する代わりに、SQL Serverを物理メッセージトランスポートとして使用する方法はありますか?

ありがとう

4

5 に答える 5

3

SQL Serverには、ServiceBrokerの形式のメッセージが組み込まれています。これにより、SQL Serverインスタンス間で、さまざまな効率的、高速、高スループット、非同期、および信頼性の高いメッセージングトランスポートが提供されます。SQL ServerExpressがServiceBrokerをサポートしていることを考えると、SQLインスタンスのみを対象としているという事実は、中央の上位エディションのSQLインスタンスとメッセージを交換するために、地理的に分散された数十、数百のExpressを使用する展開を知っています。 。

主な問題は、C#/。Net APIの欠如であり、WCFチャネルもNServiceBusもサポートされていません。これに対処しようとするさまざまなプロジェクトがあり、多かれ少なかれ成功しています。最終的には、決定の推進要因が何であるかによって異なります。NServiceBusなどの既存のメッセージングバスとの統合、またはsQLServer独自のバスに依存するという犠牲を払った生のパフォーマンスと信頼性です。

于 2010-05-07T17:18:14.757 に答える
3

このような古いトピックに回答して申し訳ありませんが、SQLサーバーをメッセージトランスポートとして使用する.Netメッセージバスプロジェクトがあります:NGinn.MessageBus(http://code.google.com/p/nginn-messagebus/)。これは、SQLServerをすでに使用しているアプリケーション用に特別に作成された私のペットのオープンソースプロジェクトです。プロジェクトは、本番環境で使用できるほど成熟しています。詳細については、プロジェクトのWebサイトを参照してください。

于 2011-09-20T10:50:53.850 に答える
3

NServiceBus 3.0では、2.6と比較して、独自のトランスポートメカニズムのプラグインがはるかに簡単になりました。2.6では、巨大なITransportインターフェースを実装します。3.0では、ISendMessagesとIReceiveMessagesを実装するだけで済みます。

https://github.com/NServiceBus/NServiceBus/blob/master/src/unicast/NServiceBus.Unicast.Queuing/ISendMessages.cs

https://github.com/NServiceBus/NServiceBus/blob/master/src/unicast/NServiceBus.Unicast.Queuing/IReceiveMessages.cs

于 2011-09-20T11:30:57.710 に答える
3

NServiceBus 4.0では、トランスポートメカニズムとしてSQL Serverを使用できるようになったため、ITransportなどを実装する必要はありません。

于 2013-08-08T23:27:06.917 に答える
2

これを実現するために、カスタムITransportの実装を検討することをお勧めします。

于 2010-05-07T21:38:58.877 に答える