0

2 つの異なるソースからのメッセージをリッスンするコンシューマーをセットアップしています。これら 2 つのソースからのメッセージに対して別のコールバックが必要です (ただし、他のソリューションは大歓迎です)。

私はrabbitmqとpikaに非常に慣れていないので、まだ核心的な詳細を把握していません. しかし、私が知りたいのは:

別のキューを使用して 2 つ設定する必要があります

channel.basic_consume(callback_1, ...)
channel.basic_consume(callback_2, ...)

私のコールバックのために、または代わりにルーティングキーでいくつかのトリックを行う必要がありますか?

4

1 に答える 1

0

それはあなたのニーズに少し依存します。それは本当に処理に関するものです。私は Java に最も精通しているので、私がどのように物事を処理するかを説明し、それに基づいて決定を下すことができます。

異なるスレッドで異なるデータを処理する必要がある場合、またはデータに対して異なる処理を行う必要がある場合は、2 つの異なるキューを作成すると、各スレッドが異なるキューを消費します。トピック交換を使用して、キューが正しいメッセージを確実に取得できるようにします。データがわずかに異なる場合は、ルーティング キーを使用して、同じスレッドでデータを別の方法で処理できます。この決定は、必要な並列処理、つまりデータを処理するキューの数に完全に基づいています。

于 2012-08-10T10:07:48.790 に答える