首页 > 其他分享 >backpressure 背压介绍

backpressure 背压介绍

时间:2023-04-25 17:32:47浏览次数:31  
标签:缓存 背压 介绍 引擎 组件 流水线 下游 backpressure


当数据流启动时,源就开始把一行行数据填到一个类似桶的缓存(buffer)中。源根本不知道下游是什么。一旦缓存满了,桶就随着流水线流到下游组件(component)上,同时引擎抓一个新的空缓存过来给源。源根本不知道这一切,它只是不断地填桶。有时源填了太多的桶,转换和端都来不及应付了;此时引擎会启动反压(backpressure)机制,让源睡眠。

等到流水线又有空间之后,源被唤醒继续填桶。其实在实现上,源甚至都不知道自己被催眠过(好可怜)……直到所有源数据行都发光了,源才在最后一个缓存上贴个“行集末(End Of Rowset)”的标签,把它发出去,告诉下游组件再没有新数据了

标签:缓存,背压,介绍,引擎,组件,流水线,下游,backpressure
From: https://blog.51cto.com/u_16088628/6224712

相关文章

  • 70、ansible常用工具及模块介绍
    ansible相关工具/usr/bin/ansible主程序,临时命令执行工具/usr/bin/ansible-doc查看配置文档,模块功能查看工具,相当于man/usr/bin/ansible-playbook定制自动化任务,编排剧本工具,相当于脚本/usr/bin/ansible-pull远程执行命令的工具/usr/bin/ansible-vault文件加密工具/usr......
  • 普加甘特图介绍
     普加甘特图是一个Ajax甘特图控件,提供了在浏览器上使用微软Project的功能。可供二次开发,支持导入导出微软Project,实现项目计划排程逻辑。   具体的界面效果如下:  基于普加甘特图,可以快速开发企业内部项目管理、生产排程类信息化系统。可广泛应用于项目管理系统、ERP......
  • Beats介绍
    1简介ElasticStack传统上由三个主要组件(Elasticsearch,Logstash和Kibana)组成现在早已脱离了这种组合,也可以与名为“Beats”的第四个元素结合使用--一个针对不同用例的日志运送者系列。现在网上有一种说法叫做ELKB,这里的B就是指的beats在集中式日志记录中,数据管......
  • Halcon图像灰度值运算&图像截取及合并&灰度特征值介绍
    灰度膨胀运算gray_dilation_rect算子gray_dilation_rect(Image : ImageMax : MaskHeight, MaskWidth :)示例:gray_dilation_rect(Image,ImageMax,11,11)Image(输入对象):输入灰度图对象ImageMax(输出对象):输出膨胀后的灰度图对象11(输入参数1):滤波器掩模的高度数值越大效果越......
  • Halcon图像灰度值运算&图像截取及合并&灰度特征值介绍
    灰度膨胀运算gray_dilation_rect算子gray_dilation_rect(Image : ImageMax : MaskHeight, MaskWidth :)示例:gray_dilation_rect(Image,ImageMax,11,11)Image(输入对象):输入灰度图对象ImageMax(输出对象):输出膨胀后的灰度图对象11(输入参数1):滤波器掩模的高度数值越大......
  • 安科瑞消防和指示系统介绍
    安科瑞虞佳豪随着建筑行业不断发展,涌现出各种人员密集的大中型建筑场所,有关建筑安全的相关内容就变得十分重要,特别是应急照明和疏散指示系统,能够在火灾逃生过程中发挥关键作用,进一步指引建筑内的人群进行有序逃生。通常火灾发生时伴随着烟雾的产生与人员恐慌,应急消防照明和疏散指......
  • Go中的有限状态机FSM的详细介绍
    1、FSM简介1.1有限状态机的定义有限状态机(FiniteStateMachine,FSM)是一种数学模型,用于描述系统在不同状态下的行为和转移条件。状态机有三个组成部分:状态(State)、事件(Event)、动作(Action),事件(转移条件)触发状态的转移和动作的执行。动作的执行不是必须的,可以只转移状态,不指定任何......
  • git-git、gitee使用介绍
    1.git介绍和安装1.我们为什么要使用git?1.1帮助开发者合并开发的代码1.2如果出现冲突代码的合并,会提示后提交代码的开发者,让其解决冲突1.3代码版本的管理,比如要找到之前某个版本的代码做对比,那么需要找到之前某个版本的代码2.svn和git的区别:git是分布式的,有本地和远程两......
  • TransformMine表格化构建系统介绍
    TransformMine表格化构建系统介绍这是我们的团队项目功能介绍:主要功能:将表格图片转化为excel文件能够将用户上传的图片文件转化为excel文件,并保存记录到本地数据库。能够分析用户的数据,显示在页面上。能够登录注册账户。页面展示: ......
  • 1 Go语言介绍、 2 Go开发环境搭建 、3 第一个helloworld 、4 变量命名规范 、5 变量的
    目录1Go语言介绍2Go开发环境搭建3第一个helloworld4变量命名规范5变量的定义和使用1Go语言介绍#Go语言介绍Go即Golang,是Google公司2009年11月正式对外公开的一门编程语言Go是【静态强类型】语言,是区别于解析型语言的编译型语言(静态:类型固定强类型:不同类型不允许直接......