同じノードで実行されている別のボルトに1つのボルトのエミッションを伝播させるCustomGroupingを書きたいと思います。 localOrShuffleGroupingは、同じプロセス内でタプルを保持しようとすることによってこれを部分的に達成します。私はさらに一歩進んで、マシンレベルで縛りをつけたいと思っています。ここでの主な目的は、ネットワークの待ち時間を短縮し、スループットを向上させることです(帯域幅に制限されないため)。Apache Stormでノード上で実行中のタスクを特定する方法
TopologyContextからgetThisWorkerTasks()を呼び出すと、同じワーカープロセスで実行されているタスクIDを取得できることにご注意ください。しかし、私は同じノード(他のプロセスのものを含む)上で実行されているすべてのtaskIDを取得する方法を見つけることができませんでした。
ありがとうRahim!私もこれについて考えていました。グローバルなグループ分けをする際にネットワークトラフィックが増加する可能性があると感じました。もちろん、結論を出す前にいくつかのベンチマークを実行しなければなりません。 – k008
毎回ホスト情報を送信する必要はないと思います。最初は十分なので、ネットワークトラフィックには影響しません。 –
それは?ですから、ワーカープロセスがエグゼキュータを起動してtaskIDを生成すると、それらは同じままになりますか?エグゼクティブが後で別のボルトで作業を開始した場合でも? – k008