Reputation: 1494
I currently have a Storm cluster running on 3 Unix machines (1 for Nimbus/Zookeeper and the other two as Supervisors).
My topology is configured like so:
JMSDataSpout1 & JMSDataSpout2 -> EsperBolt -> JMSBolt
In my clustered environment I have seen that Nimbus deploys the spouts to two different machines. This is fine but I can't help but wonder - will it also do the same with my other two bolts?
Specifically what will happen if I receive a message via JMSDataSpout1 but an instance of EsperBolt does not exist on the same machine?
Will Nimbus recognize this and forward the message onto the EsperBolt running on the other machine or is the message lost?
Upvotes: 2
Views: 214
Reputation: 8068
It will send it across the network to a supervisor where the bolt is running. Nimbus will not even be that involved in the process other than just telling the supervisor where it should send the tuples.
Upvotes: 1