【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是如何具体实现分布式流处理的,它有哪些组件构成。 下一篇详细介绍。

相关推荐
Edingbrugh.南空2 小时前
Flink自定义函数
大数据·flink
gaosushexiangji3 小时前
利用sCMOS科学相机测量激光散射强度
大数据·人工智能·数码相机·计算机视觉
前端_学习之路3 小时前
React--Fiber 架构
前端·react.js·架构
无级程序员5 小时前
大数据平台之ranger与ldap集成,同步用户和组
大数据·hadoop
lifallen6 小时前
Paimon 原子提交实现
java·大数据·数据结构·数据库·后端·算法
怀揣小梦想7 小时前
微服务项目远程调用时的负载均衡是如何实现的?
微服务·架构·负载均衡
TDengine (老段)7 小时前
TDengine 数据库建模最佳实践
大数据·数据库·物联网·时序数据库·tdengine·涛思数据
GateWorld7 小时前
RISC-V:开源芯浪潮下的技术突围与职业新赛道 (二) RISC-V架构深度解剖(上)
架构·risc-v·指令集精简·寄存器设计·特权架构·模块化扩展
张先shen7 小时前
Elasticsearch RESTful API入门:全文搜索实战(Java版)
java·大数据·elasticsearch·搜索引擎·全文检索·restful
Elastic 中国社区官方博客7 小时前
Elasticsearch 字符串包含子字符串:高级查询技巧
大数据·数据库·elasticsearch·搜索引擎·全文检索·lucene