title: Can multiple sinks read from same channel or how to load balance flume sinks?
body: <p>According to multiple sources, such as <a href="http://shop.oreilly.com/product/0636920033196.do" rel="nofollow noreferrer">Hadoop Application Architecture</a>, multiple sinks can read from the same channel to increase throughput: 
  <code>
  A sink can only fetch data from a single channel, but many sinks can fetch data from that same channel. A sink runs in a single thread, which has huge limitations on a single sink—for example, throughput to disk. Assume with HDFS you get 30 MBps to a single disk; if you only have one sink writing to HDFS then all you’re going to get is 30 MBps throughput with that sink. More sinks consuming from the same channel will resolve this bottleneck. The limitation with more sinks should be the network or the CPU. Unless you have a really small cluster, HDFS should never be your bottleneck.
  </code></p>
  
  <p>But besides this, there is a concept of sink groups with <a href="https://flume.apache.org/FlumeUserGuide.html#load-balancing-sink-processor" rel="nofollow noreferrer">load balancing sink processor</a>. According to the <a href="https://www.linkedin.com/pulse/using-flume-kafka-tanuj-mehta" rel="nofollow noreferrer">article</a> one does not need to create sink group to faster consume events:
  <code>
  It is important to understand that all sinks within a sink group are not active at the same time; only one of them is sending data at any point in time. Therefore, sink groups should not be used to clear off the channel faster—in this case, multiple sinks should simply be set to operate by themselves with no sink group, and they should be configured to read from the same channel
  </code></p>
  
  <p><strong>So, I really do not understand when I should use group sinks with load balancer, and when just add more sinks which read from one specific channel.</strong></p>