0
EasyNetQのラッパーを作成して、RabbitMQにメッセージを公開しています。公開する必要のあるメッセージが多数あります。 IBusを使用してメッセージをパブリッシュするためにパターンを使用すべきか、IBusタイプvarをクラス・レベルの静的varとして宣言する必要がありますか?アプリケーション終了時に破棄しますか?EasyNetQメッセージパブリッシャーパターン
using (IBus bus = RabbitHutch.CreateBus(rabbitMQConnectionString))
{
bus.publish("ss");
}
おかげ
これは主に意見に基づく質問であり、正解がなく、文脈にもよります。 静的バスを作成するか、そうでない場合にインスタンス化するかをアプリケーションに選択させてみませんか? –
公開する必要のあるメッセージが多数あります。私は主に、IBusインスタンスを何度も作成して廃棄することに懸念しています。一方、IBus型のvarを静的なクラスレベルメンバとして作成すると、並行性の問題が心配です。私はロックを適用することができますが、それはパフォーマンスに影響を与えます –
なぜ並行処理は、メッセージキューがうまくいけば心配ですか?キューからのメッセージは、サブスクライブするアプリケーションによって一度だけ取り出されます。バス・インスタンスをロックしても、アプリケーションが同じメッセージを何度も送信することはありません。 –