Storm概念学习系列之并行度与如何提高storm的并行度

  不多说,直接上干货!

  对于storm来说,并行度的概念非常重要!大家一定要好好理解和消化。

    

  

  storm的并行度,可以简单的理解为多线程。


如何提高storm的并行度?
  storm程序主要由spout和bolt组成的。spout和bolt在运行期间会生成task实例(new Spout或者new bolt)。

  那这些task实例是需要在线程(executor)里面运行的,而线程是需要在进程(worker)里面执行的。

 

  这些,都是可以在代码中控制的到。

 

 

1、所以想要提高storm的处理能力,最直接的就是提高executor线程的并行度。

2、提高worker的数量有什么好处呢?
  可以间接提高storm的处理能力,因为一个worker进程的处理能力是有限的,如果线程太多了,是需要使用多个进程的,否则,多线程的效率也不高。

  假设一个进程里面运行10个线程效率最高,如果你把100个线程都在一个进程里面运行。

3、提高task的数量有什么好处呢?
  因为线程内部不能并行处理,所以就算提高线程内部的task的数量,也不能提高storm的并行度。
  它的好处是,可以方便后期执行storm的rebalance(弹性计算)
  【因为当一个storm程序提交之后,这个程序中的task数目就不会再变了】

  程序怎么来实现,见我下面的博客

Storm编程入门API系列之Storm的Topology默认Workers、默认executors和默认tasks数目

Storm编程入门API系列之Storm的Topology多个Workers数目控制实现

Storm编程入门API系列之Storm的Topology多个Executors数目控制实现

Storm编程入门API系列之Storm的Topology多个tasks数目控制实现

原文地址:https://www.cnblogs.com/zlslch/p/7247412.html