[实时计算flink]作业开发上线流程及规范

news2024/10/23 20:18:51

随着数据量的爆炸性增长和业务需求的日益复杂化,企业对实时数据处理能力的需求愈发迫切。Flink作为一种强大的流处理框架已经成为实时计算标准,其规范化的开发和运维流程对于企业提升数据处理效率、确保系统稳定性至关重要,旨在提升研发效率,保障项目顺利进行。实时计算Flink版基于Apache Flink构建了一站式开发运维管理平台,支持作业开发、数据调试、运行与监控、自动调优、智能诊断等全生命周期能力。本文为您介绍实时计算Flink版在实时计算研发规范的阶段规划、角色职责和整体流程。

阶段规划

  1. 需求阶段:产品经理需理解业务需求,评估实时数据处理的需求,并产出需求文档。

  2. 设计阶段:数据架构师根据需求文档,设计实时数据流处理架构,包括数据源接入、数据转换、存储和查询等。

  3. 开发阶段:开发人员基于设计文档,使用Flink等工具实现实时数据处理逻辑,并进行单元测试。

  4. 测试阶段:测试人员编写测试用例,进行功能测试、性能测试和异常测试,确保数据处理的准确性和稳定性。

  5. 部署阶段:运维人员负责将开发完成的实时数据处理作业部署到生产环境。

  6. 运维阶段:运维人员和开发人员共同监控系统运行状态,根据监控结果进行性能调优。

角色职责

  • 产品经理:负责收集和评估业务需求,产出需求文档,并与技术团队沟通确保需求的可实施性。

  • 数据架构师:负责设计实时数据处理架构,包括数据流架构设计以及方案选型。

  • 开发人员:负责编写Flink代码或应用程序,实现数据处理逻辑,并进行代码审查以及作业调试等单元测试。

  • 测试人员:负责编写和执行测试用例,确保程序的稳定性和性能。

  • 运维人员:负责部署、监控和维护实时数据处理系统,确保系统的高可用性和稳定性。

  • 安全专家:负责实施数据加密、维护访问控制机制以及负责配置和管理网络隔离措施等,确保实时数据处理流程符合安全和合规要求。

实时湖仓研发规范整体流程

  1. 需求分析

    • 数据产品经理与业务团队合作,明确实时数据处理的目标和需求。

    • 确定数据源、数据类型、处理逻辑、输出需求等。

  2. 架构设计

    • 数据架构师设计实时数据处理架构,包括数据源、转换、存储和查询等。

    • 选择合适的数据处理工具和存储解决方案。

  3. 安全规范

    • 安全专家参与设计,确保架构符合安全标准和合规要求。

    • 实施敏感信息密文、访问控制和权限隔离等安全措施。

  4. 作业开发

    • 开发人员根据架构设计,进行数据转换、处理逻辑和ETL设计。

    • 使用Flink实现数据处理逻辑,并进行单元测试。

  5. 代码审查

    • 进行代码审查,确保代码质量和安全性。

    • 应用自动化工具进行静态代码分析。

  6. 测试阶段

    • 测试人员编写测试用例,进行功能测试、性能测试和异常测试。

    • 确保数据处理的准确性和稳定性。

  7. 部署上线

    • 运维人员将系统部署到生产环境。

    • 进行部署前的安全检查和配置验证。

  8. 监控运维

    • 运维人员和开发人员共同监控系统运行状态。

    • 根据监控结果进行性能调优和故障响应。

  9. 性能测试

    • 测试人员进行负载测试和压力测试,确保系统在高负载下的性能。

    • 优化系统配置和资源分配。

  10. 备份与恢复

    • 实施定期的数据备份和恢复策略。

    • 验证备份数据的完整性和可恢复性。

  11. 审计与合规

    • 定期进行安全审计和合规性检查。

    • 确保所有操作符合法律法规和公司政策。

在进行作业恢复时,从检查点或快照中恢复相较于无状态启动,关键在于高效地从远程持久存储中下载状态文件并重建状态引擎。这一步骤需要执行大量的输入输出操作,容易成为恢复过程中的效率瓶颈,可能会造成作业的长时间停滞。本文为您介绍作业启动和扩缩容过程中瓶颈问题的诊断方法和调优策略,助力您高效提升系统性能。

诊断步骤

在作业启动或进行扩容操作期间,如果发现作业长时间停留在初始化阶段,应首先诊断是否存在初始化瓶颈。以下是推荐的诊断步骤:

  1. 使用诊断工具分析算子状态:利用Thread Dump、线程动态分析和火焰图等工具,检查初始化阶段的算子线程栈。重点关注线程栈是否长时间处于等待状态,尤其是在Gemini等状态存储系统上的操作。诊断工具使用方式请参见分析工具使用方式。

  2. 识别状态算子的初始化问题:如果发现某个算子长时间处于初始化状态,且该算子涉及状态处理,那么可以推断问题可能出在状态的下载或重建过程中。

调优策略

为了提升作业启动和扩容效率,一旦确定大状态处理是作业初始化的瓶颈,您可以参考如下方案进行针对性调整。

策略

策略说明

配置方法

注意事项

动态扩缩容

可以实现更快的让参数配置生效,减少作业启停对业务的中断时间,方便进行TM动态扩缩容。

详情请参见动态扩缩容与参数动态更新。

动态更新为实验性功能,在动态更新参数时,业务并不是完全不中断。相比传统的参数修改模式,动态更新能够显著缩短中断时间,但中断的具体时长受到作业拓扑和状态大小等因素的影响,通常在5秒至1分钟之间。

Local Recovery:本地备份快照加速恢复

在本地同时存储快照,可减少恢复过程中的数据下载需求。当本地磁盘空间充裕时,为首选方案。

在运行参数中配置

state.backend.local-recovery: true

,配置方法请参见如何配置作业运行参数?

  • 实验性功能,VVR 8.0.8及以上版本推荐开启。

  • 适用于作业Failover或者动态参数更新的场景,手动停止重启无法生效。

  • 会多占用部分本地磁盘资源。

GeminiStateBackend智能懒加载和延迟剪裁:异步状态恢复方案

作为平台核心技术GeminiStateBackend,即使面对大规模状态的作业,也能仅通过下载必要的元数据快速启动,实现对数据的即时处理。随后,系统将通过异步下载和智能裁剪技术,有效处理远程检查点文件,显著降低作业中断时间,提升效率超过90%,详情请参见企业级状态后端存储介绍。

在运行参数中配置

state.backend.gemini.file.cache.download.type: LazyDownloadOnRestore

,配置方法请参见如何配置作业运行参数?

说明

仅实时计算引擎VVR 6.0.6及以上版本支持该参数。

作业刚启动后的一小段时间内,会异步下载状态文件,作业性能逐步恢复,因此一开始性能会稍微低一些

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2221843.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

电商大数据获取渠道分享--官方接口、爬虫、第三方如何选择?

在当今大数据驱动的商业环境中,电商企业越来越依赖数据分析来洞察市场、优化运营和提升竞争力。本文将分享几种常见的电商大数据获取渠道,帮助电商从业者更有效地收集和利用数据资源。 一、电商平台官方接口 各大电商平台如淘宝、京东、拼多多等&#…

DML语言

DML(数据操作语言) 用于操作数据库对象中所包含的数据 包括: INSERT ( 添加数据语句 ) UPDATE ( 更新数据语句 ) DELETE ( 删除数据语句 ) INSERT ( 添加数据语句 ) INSERT INTO 表名 [ ( 字段1, 字段2, 字段3, … ) ] VALUES ( 值1, 值2,…

计算机网络-RSTP工作过程与原理

前面我们已经学习了RSTP的一些基础概念以及对于STP的改进之处,因为RSTP兼容STP,所以实际上两者工作原理是一致的,这里只简单过一遍,然后进行一些基础实验即可,大致还是遵循选举根桥、确定端口角色与状态、全网收敛的思…

CentOS 8 Stream环境下通过yum安装Mysql

1.在Mysql下载页面MySQL :: Download MySQL Community Server页尾 点击 “MD5 checksums and GnuPG signatures” 进入下一页面 2.打开下载yum repo文件页面 (MySQL :: Download MySQL Yum Repository) 3.点击"DownLoad"按钮,打开下载页面, 4.…

GB/T28181-2022规范解读、应用场景和技术实现探究

GB/T28181-2022和GB/T28181-2016区别 GB/T28181-2022《公共安全视频监控联网系统信息传输、交换、控制技术要求》与 GB/T28181-2016 相比,主要有以下区别: 术语和定义方面: 术语删减:GB/T28181-2022 删除了 “联网系统信息”“数…

大模型LLM学习路线图2024年最新版!全面掌握学习路径,非常详细,零基础想学大模型收藏这一篇就够了

ChatGPT的出现在全球掀起了AI大模型的浪潮,2023年可以被称为AI元年,AI大模型以一种野蛮的方式,闯入你我的生活之中。 从问答对话到辅助编程,从图画解析到自主创作,AI所展现出来的能力,超出了多数人的预料&…

【redis】redis的多线程和IO多路复用

【redis】redis的多线程和IO多路复用 【一】前言【二】Redis单线程和多线程问题的背景【1】Redis的单线程【2】Redis为什么选择单线程?【3】Redis为什么开始利用多核?【4】Redis当前的性能瓶颈【5】Redis的主线程如何和IO线程协同 【三】IO多路复用的理解…

【Trick】IOS系统解决“未受信任的企业级开发者”问题

问题: 本人通过扫码下载了一个软件,下载完毕后出现以下提示: 解决方法: 这个主要是操作系统的问题,需要在设置里面更改,具体步骤如下: 【1】打开设置,选择【通用】 【2】选择【VP…

千鹿 AI ——AI一键生成模特上身图,零成本制作服装电商图片,AI换模特/背景/批量抠图,一个网站就够了!

前言 在电商行业,卖产品主要是卖图片。拍一套产品图加上美工费用,基本要大几百上千,对新手卖家是不小的支出。服装类目的 SKU 很多,一个链接下有几十个款式很常见。 AI 出现对跨境电商有好处是大家都知道的。现在看看电商领域的…

rust aarch64开发-编译

1. 实验代码下载 本实验基于github或gitee上的开源实现。 // 无法访问github可以通过如下地址下载 git clone https://gitee.com/yang_jun_yi/armv8-rust-hypervisor.git // github下载 git clone https://github.com/Comet959/armv8-rust-hypervisor.git2. 编译 make start…

PG实践|数学函数及其操作(一)

文章目录 引言1.1 ABS() - 取绝对值1.2 CEIL() 或 CEILING() - 向上取整1.3 FLOOR() - 向下取整1.4 ROUND() - 四舍五入1.5 TRUNC() - 截断/截取小数总结 📫 作者简介:「六月暴雪飞梨花」,专注于研究Java,就职于科技型公司后端工程…

Spring配置/管理bean-IOC(控制反转) 非常详细!基于XML及其注解!案例分析! 建议复习收藏!

目录 1.Spring配置/管理bean介绍 2.基于XML配置bean 2.1基于id来获取bean对象 2.2基于类型获取bean对象 2.3通过指定构造器配置bean对象 2.4通过p名称空间配置bean 2.5通过ref配置bean(实现依赖注入) 2.6注入内部Bean对象,依赖注入另一种方式 2.7 注入集合…

AWD的复现

学习awd的相关资料:速成AWD并获奖的学习方法和思考记录- Track 知识社区 - 掌控安全在线教育 - Powered by 掌控者(包含使用脚本去批量修改密码) 在复现之前去了解了以下AWD的相关脚本 资料:AWD批量攻击脚本使用教程-CSDN博客 …

网络安全有关法律法规

1. 前言 在当今数字化高速发展的时代,网络安全已成为关乎国家、企业和个人的重要议题。为了应对日益复杂的网络安全挑战,一系列网络安全法律法规应运而生,它们如同坚实的盾牌,守护着我们的数字世界。现在是2024年10月&#xff0c…

军团服务QA角度总结

需求背景: 军团业务诞生的时候承接家族群组功能,玩法邀请成员做任务->积分升级->发送奖励。还是拉收入的一个业务载体。收入才是王道。 军团服务端核心就三个:军团创建,人员管理和军团奖励。 军团创建: 创建…

每天练打字8:今日状况——常用字后五百击键4.5第1遍进行中,赛文速度105.75

今日跟打:738字 总跟打:125701字 记录天数:2459天 (实际没有这么多天,这个是注册账号的天数) 平均每天:50字 本周目标完成进度: 练习常用单字后500,击键3.5,…

kernel32.dll的功能、作用,教大家几种修复kernel32.dll错误的办法

当这个文件出现问题时,用户可能会遇到各种错误消息,例如“缺失kernel32.dll”或“kernel32.dll发生错误”。这些错误不仅令人困扰,还可能威胁到您的数据安全和系统性能。接下来,本文将教大家几种修复kernel32.dll错误的有效方法&a…

群控系统服务端开发模式-业务流程图补充

进天有读者给我反馈,业务流程图看的不是很明确,所以我把未画完的业务流程图补充完毕。也希望以后更多的读者给我评论及意见。 一、业务流程梳理 1、非业务流程 a、添加部门、添加级别、添加执行方式。因为这些参数都是要被其他地方调用的,更…

word中的内容旋转90度

在vsto、Aspose.Words 中,默认没有直接的 API 可以让表格整体旋转 90 度。然而,我们可以通过一些方式来实现类似的效果,具体思路如下: 将表格插入到一个形状(Shape)或文本框中,然后旋转该形状。…

影刀RPA实战番外:excel函数应用指南

Excel函数是用于执行特定计算、分析和数据处理任务的预定义公式。它们可处理数学计算、文本处理、逻辑判断、日期和时间运算、查找和引用数据等。例如,SUM函数可以计算一系列数字的总和,IF函数进行逻辑测试,VLOOKUP函数在表格中查找数据&…