2016-04-27 11 views
0

デバイスは複数のメッセージをAzure Eventhubに送信します(まだ決定されていません)。 各メッセージのフォーマットと内容は異なります(異なる処理が必要です)。 各メッセージには、どの種類のmsgを識別する固有のServiceIDが含まれます。ストームトポロジ:複数対1

ここでは、2つのシナリオを考えています。

A) 1スパウトは、MSGを受信すると 2 ParserBoltこの場合、異なるボルト

に各MSGを渡しいるServiceIDを読み取り、IDに基づくであろうParserBoltに渡し(に基づきますServiceID)は、トポロジ内の別のパスを経由します。すべてのメッセージを1つのトポロジで処理できます。

b) 1.複数のトポロジ - ServiceIDごとに1つ。 2.スパウトは、MSGを受信して​​、ボルトがいるServiceIDを読みます 3ボルトに渡します - ストームは、各MSGであることを保証しますので正確ではないサービスIDは、この仕事

を解任する場合は、正しいサービスIDは、次のボルトに渡します場合atleastは一度処理されます - それぞれのmsgはある時点で正しいトポロジーになります。しかし、トポロジはそれらのためではなかった多くのメッセージを却下するでしょう。

+0

こんにちはエリック、ようこそ、stackoverflowへ。あなたの質問はかなり終わっており、明確な答えはありません。より具体的な質問をするために言い換えることができますか? [ここをクリックしてください](http://stackoverflow.com/help/dont-ask) –

答えて

0

入力ストリームをStorm外に分割できない場合は、必ず1つのトポロジを使用する必要があります。これにより、大量のネットワークトラフィックや不必要なデータ複製が削減されます。

関連する問題