最近学习了解到一种轻量化,维护门槛较低的流批一体化的架构方式,虽然目前还是不太成熟,自己也在探索学习中。
dolphinscheduler+dinky+starrocks+flink+zookeper
后面我会逐步发一下这个整体架构的特点,以及各个组件作用,和目前存在的问题,dinky目前刚开源很多功能目前还不够成熟。我会在进行批处理脚本开发和流处理脚本开发中,starrocks sql和flinksql在方言上存在差异,架构可行性,代码维护问题兼容性问题等逐一讨论

DolphinScheduler+Dinky+StarRocks+Flink+Zookeeper流批一体架构解析

一、流批一体架构核心特点
  1. 统一计算引擎与开发范式

    • 以Flink为核心,实现流处理(Stream Processing)与批处理(Batch Processing)的统一编程模型,避免流批分离带来的技术栈割裂。
    • 批处理可视为流处理的特殊情况(有限数据流),支持同一套API(如DataStream/DataSet)开发,降低学习成本与维护复杂度。而且是完全开源免费的,部署操作较为简单,后期维护成本大大降低
  2. 分层调度与任务协同

    • DolphinScheduler负责离线批任务的调度与依赖管理,Flink处理实时流计算,两者通过dinky进行集成统一管理发布上线。
    • 支持定时触发(批处理)与事件触发(流处理)的双模式调度,满足T+1报表与实时监控的混合需求。
  3. 高性能存储与查询闭环

    • StarRocks作为分析型数据库,同时支持流计算结果的实时写入与批处理数据的高效查询,形成“计算-存储-查询”闭环。
    • 利用StarRocks的MPP架构与向量化计算,实现亚秒级实时查询与大规模历史数据聚合分析。
  4. 低代码开发与运维提效

    • Dinky提供Flink作业的可视化开发、调试与运维平台,支持SQL/Java/Python代码生成,降低Flink开发门槛。
    • 集成监控告警与资源管理功能,实现流批任务的统一运维。
  5. 分布式系统稳定性保障

    • Zookeeper为Flink、StarRocks等组件提供分布式协调服务,确保集群节点选举、配置一致性与故障恢复。
    • 架构支持弹性扩缩容,应对流量波动与数据量增长。
二、各组件核心作用详解
组件定位核心功能与在架构中的角色
Flink流批一体计算引擎
  • 支持流处理(毫秒级延迟)与批处理(大规模数据集并行计算)
  • 提供Stateful计算能力,支持复杂事件处理(CEP)与窗口聚合
  • 通过Flink CDC等组件对接多源数据,输出至StarRocks
  • 与Dinky集成,简化作业开发与部署
DolphinScheduler分布式任务调度系统
  • 编排批处理工作流(如ETL任务、离线报表生成)
  • 管理任务依赖、优先级与重试策略
  • 通过API调用Flink作业,实现流批任务联动(如定时触发流计算任务)
  • 提供可视化调度监控与日志管理
StarRocks实时分析型数据库(MPP数据库)
  • 接收Flink实时计算结果,支持高并发写入与更新
  • 提供标准SQL接口,支持亚秒级OLAP查询(如多维分析、实时报表)
  • 通过分区与分桶技术优化海量数据查询性能
  • 与Dinky集成,支持数据可视化与查询结果导出
DinkyFlink可视化开发与运维平台
  • 提供Flink作业的低代码开发界面(拖拽式组件编排、SQL转代码)
  • 支持作业参数配置、资源申请与版本管理
  • 集成Flink Web UI功能,监控作业指标(如吞吐量、延迟)
  • 支持流批作业的统一部署与故障诊断
Zookeeper分布式协调服务中间件
  • 为Flink集群提供Leader选举与节点状态管理
  • 存储StarRocks元数据一致性信息
  • 保障DolphinScheduler分布式任务调度的状态同步
  • 解决分布式系统中的数据一致性问题(如分布式锁)
三、架构协同流程示例
  1. 数据接入与处理

    • 实时数据(如Kafka消息)通过Flink流计算处理,清洗后写入StarRocks;
    • 离线数据(如Hive表)通过DolphinScheduler调度Flink批作业处理,结果同步至StarRocks。
  2. 任务调度与协同

    • 周期性批任务(如每日报表)由DolphinScheduler定时触发,调用Flink批作业处理历史数据;
    • 实时监控任务由Flink持续运行,Dinky负责作业参数动态调整(如并行度)。
  3. 查询与可视化

    • 业务系统通过StarRocks SQL接口查询流批数据融合结果;
    • Dinky或第三方BI工具(如Superset)对接StarRocks,生成实时仪表盘与离线报表。

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

如若内容造成侵权/违法违规/事实不符,请联系英文站点网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【2025/07/04】GitHub 今日热门项目

GitHub 今日热门项目 🚀 每日精选优质开源项目 | 发现优质开源项目,跟上技术发展趋势 📋 报告概览 📊 统计项📈 数值📝 说明📅 报告日期2025-07-04 (周五)GitHub Trending 每日快照&#x1f55…

HarmonyOS学习记录3

HarmonyOS学习记录3 本文为个人学习记录,仅供参考,如有错误请指出。本文主要记录ArkTS基础语法,仅记录了部分我觉得与其他语言不太类似的地方,具体规范请参考官方文档。 参考官方文档:https://developer.huawei.com/co…

HKS201-M24 大师版 8K60Hz USB 3.0 适用于 2 台 PC 1台显示器 无缝切换 KVM 切换器

HKS201-M24 8K60Hz HDMI 2.1 2x1 KVM 切换器,适用于 2 台 PC,带 EDID 仿真、千兆 LAN、双充电和 USB 3.2 Gen 1 HKS201-M24 产品概述 TESmart 重新定义智能工作空间,无缝双PC控制。 真正的 8K60Hz 亮度,具有 EDID 稳定性和超快速…

stm32f103vct6的DAC口的输出电压达不到3.3V

问题:调试时发现自己设置的DAC在最大时达不到3.3V,总结了原因,记录下。 原因:使用时,注意有没有其他负载,有的话最好给负载独立供电,不要只用STM32f103的板凑活着供电,我的就是这个…

java8 Collectors.mapping 使用 例子 学习

java8 Collectors.mapping 使用 例子 学习 Map<String, List<String>> colorApple appleList.stream().collect(Collectors.groupingBy(Apple::getColor, Collectors.mapping(Apple::getVariety, toList()))); colorApple.forEach((k, v) -> {System.out.prin…

动态规划-P1216 [IOI 1994] 数字三角形 Number Triangles

P1216 [IOI 1994] 数字三角形 Number Triangles 题目来源-洛谷题库 思路 如果用贪心只是找当前的到达该点的路径最大值&#xff0c;可能结果无法做到最优最值问题试着看能否将大问题分解成若干个小问题 走到a[i] [j ]这个点的最值来源于上一步a[i-1 ] [j]和a[i-1] [j-1]的最…

25年Java后端社招技术场景题!

一、电商领域高频场景题1. 百万级QPS秒杀系统设计场景需求&#xff1a;设计一个支持百万级QPS的秒杀系统&#xff0c;要求解决超卖问题&#xff0c;保证系统高可用。技术方案&#xff1a;分层削峰&#xff1a;前端页面静态化按钮防重复点击Redis集群&#xff1a;采用Lua脚本实现…

牛客:HJ16 购物单【01背包】【华为机考】

学习要点 深入理解回溯深入理解01背包问题 题目链接 购物单_牛客题霸_牛客网 题目描述 解法1&#xff1a;回溯 其实此题非常符合取子集的逻辑&#xff0c;但是时间复杂度太高。通过11/14。想写出来这个回溯过程&#xff0c;不容易。 #include <iostream> #include &l…

[学习记录]Unity毛发渲染[URP]-Fin基础版

鳍片法是一种在多边形表面垂直添加许多多边形&#xff0c;并在其上粘贴毛发纹理以营造毛茸茸的感觉的技术。这就像种植许多鳍&#xff08;就像鱼身上的鳍一样&#xff09;。本期我将在Unity6中实现一下基础的Fin毛发&#xff0c;并不涉及光照着色。后面我会出一篇加上着色效果的…

指针篇(7)- 指针运算笔试题(阿里巴巴)

目录 一、指针运算笔试题解析3.1 题目1&#xff1a;3.2 题目2&#xff1a;3.3 指针3&#xff1a;3.4 题目4&#xff1a;3.5 题目5&#xff1a;3.6 题目6&#xff1a;3.7 题目7&#xff1a; 总结 一、指针运算笔试题解析 3.1 题目1&#xff1a; #include<stdio.h> int m…

homebrew的一些常用方法

前言 因本人工作换到mac电脑&#xff0c;对包管理器homebrew的需求增加&#xff0c;因此将一些常用命令做如下记录&#xff0c;本博客主要用作记录用。 官网 macOS&#xff08;或 Linux&#xff09;缺失的软件包的管理器 — Homebrew 常用命令 如果脚本因网络问题无法下载…

【Python面试题】Python面试之基础知识常见面试题3-汇总篇(精选30个)

目录专栏导读前言1. 字典的内存管理机制是什么&#xff1f;2. 列表的内存管理机制是什么&#xff1f;3. 元组和列表的区别4. 字符串插值的方法5. 闭包、装饰器的原理闭包&#xff08;Closure&#xff09;装饰器&#xff08;Decorator&#xff09;6. map、filter的区别7. range(…

【免费.NET方案】CSV到PDF与DataTable的快速转换

CSV作为轻量级数据载体&#xff0c;在数据传输中占比超过70%。但其原生格式存在三大痛点&#xff1a; 可视化缺陷&#xff1a;无法直接生成可打印的报表结构限制&#xff1a;缺乏数据类型定义和关系约束安全风险&#xff1a;易被意外修改导致数据失真 因此&#xff0c;我们常…

connect的断线重连

connect的短线重连 客户端代码的编写服务器代码的编写总结 客户端代码的编写 #include <iostream> #include <string> #include <cstring> #include <cstdlib> #include <unistd.h> #include <sys/types.h> #include <sys/socket.h>…

通过观看数百个外科手术视频讲座来学习多模态表征|文献速递-最新论文分享

Title题目Learning multi-modal representations by watching hundreds of surgical video lectures通过观看数百个外科手术视频讲座来学习多模态表征01文献速递介绍外科计算机视觉领域的最新进展&#xff0c;已开始为手术室&#xff08;OR&#xff09;的新一代人工智能辅助支…

微信小程序如何实现再多个页面共享数据

在微信小程序中&#xff0c;实现多个页面共享数据有以下几种常用方式&#xff0c;根据场景选择最适合的方案&#xff1a; 全局变量&#xff08;App.js&#xff09; 适用场景&#xff1a;简单数据共享&#xff08;非响应式&#xff09; 实现方式&#xff1a; javascript // ap…

PCIE5.0 TAG说明(ima回答)

在PCIe 5.0规范中&#xff0c;TLP&#xff08;Transaction Layer Packet&#xff09;报文的Tag字段用于标识和管理事务。以下是关于Tag的生成和使用规则和定义的详细描述&#xff1a; Tag字段的定义 Tag字段&#xff1a;位于TLP报文的Header中&#xff0c;占用8位&#xff08…

Type-C PD快充协议智能芯片S312L详解

1. 芯片概述 S312L 是一款智能Type-C PD协议触发芯片&#xff0c;支持**PD3.0&#xff08;含PPS&#xff09;**及多种A口快充协议&#xff08;如QC/PE等&#xff09;&#xff0c;可自动识别并申请5V/9V/12V电压&#xff0c;适用于快充适配器、移动电源等场景。 核心优势&…

stm32学到什么程度可以找工作?

我重新为你写一篇更加详细深入的回答&#xff1a; STM32学到什么程度可以找工作&#xff1f;一个十年老兵的血泪史 写在前面的话&#xff1a;这些年踩过的坑&#xff0c;都是血淋淋的教训 刚看到这个问题&#xff0c;我就想起了2014年那个炎热的夏天。 当时我刚从厦门某马离…

基于 Elasticsearch 实现地图点聚合

在地图类应用中&#xff0c;当需要展示大量地理兴趣点时&#xff0c;直接将所有点渲染在地图上会导致视觉混乱&#xff0c;影响用户体验。为此&#xff0c;我基于 Elasticsearch 提供的 geotile_grid 和 geo_bounding_box 查询能力&#xff0c;实现了一套高效的 POI 聚合展示方…