storm小总结(持续更新)

  1. worker:topology的进程。

    executor:线程,由worker产生。

    task:具体一个 spout/bolt的实例。

    thread和task关系:一个thread可以运行多个实例,但是如果不显示设定task数量:setNumTasks(n),一个thread默认执行1个实例。

    setBolt("name","new ABolt()",3).setNumTasks(4); 这里thread数量为3,ABolt的实例化个数=4.

    以上举例来说:

    worker一共=2, parallelism=2+2+6=10,

    "blue-spout"有thread=2,每个线程执行默认1个task。

    "green-bolt"有thread2个,但设定了有4个bolt实例,则每个thread执行2个task。

    "yellow-bolt"有thread6个,每个thread执行默认一个task。

    具体由下图显示:

时间: 2024-10-13 16:17:46

storm小总结(持续更新)的相关文章

Mysql注入小tips --持续更新中

学习Web安全好几年了,接触最多的是Sql注入,一直最不熟悉的也是Sql注入.OWASP中,Sql注入危害绝对是Top1.花了一点时间研究了下Mysql类型的注入. 文章中的tips将会持续更新,先说说这些天研究的 这里博主以数字类型注入类型进行讲解,字符类型同理,这里不在敖述. 我们的环境:phpstudy+mysql+php 我们的测试代码如下: <meta http-equiv="Content-Type" content="text/html; charset=

golang 小知识-持续更新中

Go 的原生数据类型可以分为基本类型和高级类型,基本类型主要包含 string, bool, int 及 float 系列,高级类型包含 struct,array/slice,map,chan, func . 相比 Java,Python,Javascript 等引用类型的语言,Golang 拥有类似C语言的指针这个相对古老的特性.但不同于 C 语言,Golang 的指针是单独的类型,而不是 C 语言中的 int 类型,而且也不能对指针做整数运算.从这一点看,Golang 的指针基本就是一种引用

Java常见小知识点(持续更新...)

1.在什么场景下需要重写hashcode?HashMap的实现原理? 如果我们对equals()方法进行了重写,一般对hashcode进行重写,保证相同的对象返回相同的hash值 HashMap实际上是一个"链表散列"的数据结构,即数组和链表的组合 当我们向HashMap中put值的时候,先计算key的hash值,再根据hash值来计算出这个key在数组中的下标(通过hash与数组长度-1的位与运算,也正是因此,map长度都是2的次方,因为要保证length-1  都是 )如果数组该位

Python小知识点(持续更新)

1.Python2字符编码 #coding:utf-8 ''' 上面的代码将环境编码设置为utf-8,没有上面的代码,将使用环境默认编码,环境默认编码可由sys.getdefaultencoding()获得 ''' s = '中国' #s是utf-8格式的str,因为上面的代码将环境编码设置为utf-8 u = s.decode('utf-8') #u是unicode对象 s.encode('gbk') #等价于s.decode('utf-8').encode('gbk') ''' 在计算机内存

nginx(tengine)的一些小优化(持续更新)

1.nginx日志切割脚本 需求来源:nginx本身并没有日志切割的功能,由访问产生的大日志很难进行分析. 实现目的:每天对nginx日志进行切割,并备份至指定文件夹. 简要指令: mv /usr/local/tengine/logs/access.log /usr/local/tengine/logs/access-date.log kill -USER1 Nginx主进程号. 解释: 通过mv命令重命名日志,并且通过kill -USER1 nginx-id的命令,告诉nginx需要写新的日志

iOS--开发小技巧(持续更新)

// 模糊效果 UIBlurEffect *effect = [UIBlurEffect effectWithStyle:UIBlurEffectStyleDark]; UIVisualEffectView *test = [[UIVisualEffectView alloc] initWithEffect:effect]; test.frame = self.view.bounds; test.alpha = 0; [self.view addSubview:test]; _mytext =

django项目实际工作中的配置以及一些有用的小工具(持续更新)

常用pycharm快捷键:   https://www.cnblogs.com/luolizhi/p/5610123.html Ctrl + F1  显示错误 Ctrl + Alt + Space  快速导入任意类 Ctrl + /    行注释/取消行注释 Ctrl + Shift + /    块注释 Ctrl + Alt + I    自动缩进 Ctrl + P    参数信息(在方法中调用参数) Ctrl + D  复制选定的区域或行 Ctrl + Y    删除选定的行  2.查找/替

一些实战中的小技巧 (持续更新中)

经常使用的目录或命令,使用alias,减少打字数量 # 显示所有的别名 alias -p # 创建 alias gopro='cd /root/username/dir/project' alias pidpy='ps -ef | grep python' # 取消 unalias gopro 原文地址:https://www.cnblogs.com/wangjiale1024/p/11293772.html

C#、Java中的一些小功能点总结(持续更新......)

前言:在项目中,有时候一些小的功能点,总是容易让人忽略,但是这些功能加在项目中往往十分的有用,因此笔者在这里总结项目中遇到的一些实用的小功能点,以备用,并持续更新...... 1.禁用DataGridView表头的排序功能 1 /// <summary> 2 /// 禁止点击列表头进行排序 3 /// </summary> 4 /// <param name="dgv">当前DataGridView控件</param> 5 private

C#小常识,持续更新..

1.cs部分添加隐藏样式IntegratedEquipmentblock.Style.Add("display", "none"); 2.gridview添加奇偶行样式 protected void gvIntegratedEquipmentList_RowDataBound(object sender, GridViewRowEventArgs e) { //添加样式-----------begin switch (e.Row.RowType) { case Da