J'ai un cas d'utilisation où j'utilise un cache local pour gérer les compteurs de certains identifiants. J'ai fait un fieldsGrouping("spout", new Fields("id"))
en classe de topologie. Disons id1
a toujours été traitée en processingBolt
sur worker1
et id2
était toujours traitée en processingBolt
sur worker2
. Si worker2
meurt, id2
commencera-t-il à être traité sur worker1
?Le regroupement de champs dans l'agent de traitement des dossiers meurt dans Storm
0
A
Répondre
1
Oui. Storm a utilisé l'abstraction des tâches en interne. Si vous utilisez fieldsGrouping, chaque ID est mappé à une tâche et les tâches sont exécutées par des instances de boulon.
Si une instance en gras échoue, Storm déplace la tâche vers d'autres instances de boulon.