If bolt3 is processing half of the data from bolt1, can't u check the condition before emitting to bolt3.
This way u can cut down network load. Option 1 is better with 2 streams for 2 underlying bolts. On 10/31/14, Rohit Kelkar <[email protected]> wrote: > I have a topology where each datum undergoes a series of processes. I have > currently implemented the different processes in individual bolts. > In my topology, Bolt 1 consumes from kafka and processes all data points. > Bolt 2 processes entire output of bolt 1. Bolt 3 processes only certain > data types output by bolt 1 (which amounts to about half of the data output > by bolt 1). > > What is the overhead on bolt 1 to emit two separate streams for bolts 2 and > 3? Which really would help me decide whether > 1. Should bolt 1 to emit two separate streams for bolt 2 and bolt 3 > OR > 2. should bolt 1 emit a single stream which bolts 2 and 3 consume and put > an IF-ELSE inside bolt 3 to process only the appropriate data types? > > > > - R >
