2012-01-31 3 views
11

練習として、私は競合する消費者を実装する例を見つけようとしています。競合するコンシューマソリューションの実装方法は?

多くの生産 - > MSMQueue < - 競争消費者

は、これまでのところ、私はこれを達成する方法上の任意のドキュメントを見つけることができませんでした。 MassTransitやNServiceBusでどのように実装されているかを最初に試してみると、多くの間接的なレイヤーに失敗しました。

ご協力いただきますようお願い申し上げます。

答えて

13

MassTransitとMSMQを使用すると、Distributorコンポーネントを使用してこれを実現できます。あなたがRabbitMQ代わりにMSMQとMassTransitを使用している場合、あなたは、単にすべての消費者のために同じキュー名を設定することにより、ディストリビュータを使用してせずに、競合する消費者のシナリオを実装することができ

は注意してください。 MSMQとRabbitMQのどちらかを選ぶことができれば、RabbitMQの方がいいでしょう。管理ツールやSSL暗号化が向上し、ファイアウォールもうまくいきます。

MassTransit Google Groups forumにこれに関する議論があります。

+4

代理店を書いた人として、私は代わりにRabbitMQを使っています。私たちはディストリビューターを通して1日に10億件のメッセージを送りますが、RabbitMQはこれをはるかに簡単にします。同じキューをMSMQから読み取ることはできません。各コンシューマには独自のキューが必要ですが、ディストリビュータコンポーネントはワークロードの配布を担当します。 – Travis

+0

ありがとう、私はRabbitMQを見ていきます。ディストリビューターの仕組みはなんですか?入力キューに1つの単一のコンシューマとして動作し、制御キューを使用して作業者の可用性によって作業をディスパッチしますか? – ruslander

+0

@ruslander - これは本質的にディストリビューターの仕組みです。 –

関連する問題