数据库顶会 VLDB 2023 论文解读:字节跳动如何解决超大规模流式任务运维难题
引言
SteamOps 介绍
- 控制平面服务 (Control Plane Service) :可水平拓展的无状态服务来管理集群级别的流式作业,独立于流式作业部署以解耦控制平面和流式计算引擎获得更好的灵活性和拓展性。
- 全局存储(Global Storage):存储管控策略决策所需的作业指标、日志等数据,和控制平面服务本身的状态数据。
- 运行时管控触发器(Runtime Management Trigger):每一个流式作业都会配套一个运行时管控触发器来向控制平面服务发送请求触发管控操作。请求可以定期触发,也可以在满足某个特定条件时触发,或者手动触发。
- 单个流式作业根据触发策略向控制平面服务触发管控操作。
- 控制平面服务收到请求后从全局存储拉取作业指标和管控策略本身的状态等数据,供管控策略决策。
- 管控策略做出决策后,会对流式作业运行时发起配置更改或者向用户发出报警提醒处理。
控制平面服务
管控策略
管控机制
- 指标采集
- 流式作业运行时配置变更
核心管控策略实现
- 自动扩缩容:解决作业总体资源配置不足/过剩的问题。
- 慢节点自动迁移:解决由运行效率慢问题的机器导致的消息积压。
- 智能诊断:针对数据倾斜、运行时异常这些往往无法从计算引擎内部解决的问题,提供诊断和建议。
自动扩缩容
慢节点自动迁移
智能诊断
实验结果
控制平面总体效果
自动扩缩容效果
慢节点自动迁移效果
智能诊断效果
总结
引用
作者信息:
陈张昊,字节跳动基础架构工程师。流式计算专家,Apache Flink Contributor。伊利诺伊大学香槟分校硕士,毕业后一直从事流计算相关研发工作。 张一凡,字节跳动基础架构工程师。流式计算专家,杭州电子科技大学硕士,曾就职网易,目前在字节跳动专职于流式计算系统和服务研发工作。

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
row_number函数的不稳定性
本文分享自华为云社区《row_number函数的不稳定性》,作者: nullptr_ 。 row_number为窗口函数,用来为各组内数据生成连续排号 基础用法 postgres=# select id,name,age,row_number() over() from test; id | name | age | row_number ----+------+-----+------------ 2 | 张三 | 13 | 1 3 | 张四 | 16 | 2 3 | 张三 | 14 | 3 1 | 张三 | 12 | 4 3 | 张四 | 15 | 5 (5 rows) postgres=# select id,name,age,row_number() over(order by age) from test; id | name | age | row_number ----+------+-----+------------ 3 | 张四 | 16 | 5 3 | 张三 | 14 | 3 3 | 张四 | 15 | 4 1 | 张三 | 12 | ...
- 下一篇
10分钟从源码级别搞懂AQS(AbstractQueuedSynchronizer)
前言 上篇文章15000字、6个代码案例、5个原理图让你彻底搞懂Synchronized有说到synchronized由object monitor实现的 object monitor中由cxq栈和entry list来实现阻塞队列,wait set实现等待队列,从而实现synchronized的等待/通知模式 而JDK中的JUC并发包也通过类似的阻塞队列和等待队列实现等待/通知模式 这篇文章就来讲讲JUC的基石AQS(AbstractQueuedSynchronizer) 需要了解的前置知识:CAS、volatile 如果不了解CAS可以看上篇讲述synchronized的文章(链接在上面) 如果不了解volatile可以看这篇文章 5个案例和流程图让你从0到1搞懂volatile关键字 本篇文章以AQS为中心,深入浅出描述AQS中的数据结构、设计以及获取、释放同步状态的源码流程、Condition等 观看本文大约需要10分钟,可以带着几个问题去观看 什么是AQS,它是干啥用的? AQS是使用什么数据结构实现的? AQS获取/释放同步状态是如何实现的? AQS除了具有synchron...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- Red5直播服务器,属于Java语言的直播服务器
- CentOS7设置SWAP分区,小内存服务器的救世主
- CentOS7安装Docker,走上虚拟化容器引擎之路
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果
- CentOS关闭SELinux安全模块
- CentOS7,CentOS8安装Elasticsearch6.8.6
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- Linux系统CentOS6、CentOS7手动修改IP地址