【Flink运行时架构】系统构架

SMP架构

数据处理系统的架构最简单的实现方式就是单节点,但是随着数据量的增大,为了使单节点的机器性能更加强大,需要增加CPU数量和加大内存来提高吞吐量。这就是所谓的SMP(Symmetrical Multi Processing,对称多处理)架构。

但是这种架构带来的问题也很明显,不仅所有CPU是完全平等且共享内存和总线资源的,会带来资源竞争。而且随着CPU数量的增加,机器成本会呈指数级增长。因此,SMP的可扩展性是比较差的,无法应对海量数据的处理场景。

分布式架构

基于SMP的局限,提出了不共享任何东西(share-nothing)的分布式架构,比如从 MPP(Massively Parallel Processing,大规模并行处理)架构,到以Hadoop、Spark为代表的批处理,再到以Flink为代表的流处理架构,都是以分布式作为系统架构的基本形态。Flink是一个分布式的并行流处理系统,由多个进程构成,这些进程一般会分布运行在不同的机器上。

对于分布式系统的管理,有很多棘手的问题。比如集群中资源的分配和管理、进程协调调度、持久化和高可用的数据存储、以及故障恢复等。不过,对于分布式系统中这些典型问题,业内已经有比较成熟的解决方案和服务了。

因此,Flink在设计中并不会去处理这些通用问题,而是利用现有的集群架构和服务。比如,在集群资源管理方面,会与现有Yarn、K8s、Mesos等工具集成;在分布式村粗方面,会直接利用现有的HDFS、S3等分布式文件系统;在高可用配置方面,会依赖ZooKeeper来完成。

通过以上方式,Flink就可以把精力集中在核心工作上了,也就是分布式数据流处理。那么,Flink是如何具体实现分布式流处理的,它有哪些组件构成。 下一篇详细介绍。

相关推荐
天蓝色的鱼鱼9 小时前
模块化与组件化:90%的前端开发者都没搞懂的本质区别
前端·架构·代码规范
乡村中医10 小时前
AI Chat实现第二步,多会话流式输出的状态管理,教你如何实现多会话与历史内容懒加载
架构
字节跳动数据平台13 小时前
5000 字技术向拆解 | 火山引擎多模态数据湖如何释放模思智能的算法生产力
大数据
文心快码BaiduComate16 小时前
Comate 4.0新年全面焕新!底层重构、七大升级、复杂任务驾驭力跃升
前端·程序员·架构
DevnullCoffe16 小时前
基于 OpenClaw + Pangolinfo API 的 Amazon 价格监控系统:架构设计与最佳实践
人工智能·架构
Mintopia17 小时前
在深与广之间:产品、架构与开发如何为业务场景做权衡
架构
武子康18 小时前
大数据-239 离线数仓 - 广告业务实战:Flume 导入日志到 HDFS,并完成 Hive ODS/DWD 分层加载
大数据·后端·apache hive
ray_liang1 天前
用六边形架构与整洁架构对比是伪命题?
java·架构
Java编程爱好者2 天前
字节二面:被问“大模型知识过时了怎么解?”,我答“微调”,面试官当场黑脸:“听说过 RAG 吗?”
架构