storm-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From 余昊 <yu...@easyway.net.cn>
Subject Is it practical for bolt to receive data, not business data but processing configuration?
Date Mon, 22 Dec 2014 10:17:46 GMT
Hi,

Considering a simple topology: 
        spoutD -> boltA -> boltB 
where spoutD receives business data, and forwards to boltA for processing, the results are
then sent to boltB for further processing.

In our scenario, it is required that the parameters (or configuration) of processing logics
in boltA or boltB can be modified at runtime.

Our solution A is to send new paramter values directly to the specific bolt.
But we think this is not practical, since in storm it seems data input (no matter what kind
of data) should be done 
in spout, and bolt gets input either from the upstream bolt or from spout - is that right?

So we thought about solution B, which is adding a spoutC which is specifically for receiving
configuration data.  
Then the topology turns to: 
        spoutD -> boltA -> boltB
                                |          |
                                spoutC
where spoutC can dispatch the new processing parameter values to the boltA or boltB.
Well, the cost is that as you can see the topology gets more complicating. That's why we do
not like solution B.

If solution A can work in a practical way, we prefer it to solution B. But is it possible?
Or do you have any better suggestions?
 


Best regards,

Hao Yu 
Mime
View raw message