Srorm并发机制

一:介绍

1.运行组件

  

 

  

2.并发度

  就是executor数量

  executor线程是物理线程

  task是执行线程

 

二:增加并发度

 

三:Worker层次

1.worker工作进程上  

  各个Spout组件、Bolt组件如果在代码中没有显式指定由多少个executor线程来执行,那么默认各由1个executor来执行

  那么并发度就是Spout与Bolt的个数加起来。

  通过增加worker进程数量,可能可以提高并发性能(是可能,因为四个线程在抢占一个进程),主要要求清楚整个Topology有多少个executor线程

  

2.在worker进程上进行对比(worker=2)

  

  worker=2

  

 

3.性能问题  

  个数的确定需要看executor线程。

  如果executor的个数是4,给值6,则不会提高性能。

  一个worker进程跑1到2个executor线程,性能更好。

 

4.代码体现

  这里可以设置为2。

  

 

五:Exeutor层次

1.executor线程层次

  提高并发度,本质提高executor数量

  Executor数量的设置,针对具体某个组件 (spout、bolt)

  globalGrouping 全局分组, executor数量设置多个没有什么作用,就用1个

 

2.在代码上体现

  setSpout的最后一个参数是executor线程的参数。

  setBlot的最后一个参数也是executor线程参数。

  globalGrouping这种全局分组,只需要设置1即可,多了也是没有用。

  ===》》一个八个线程。

 

六:Task层次

1.Task层次(很少设置)

  是Task执行线程

  每个物理线程 executor默认情况只运行一个task执行线程

 

2.代码体现

  

 

8.为啥不常使用设置

  每个物理线程 executor默认情况只运行一个task执行线程

  Spout4task,这4个运行在2executor上, 每个物理线程平均执行2task

  并不能提高性能。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值