作为实时计算领域的佼佼者,Flink 的基本组件同样值得我们仔细研究。

Flink 同样遵循着分层的架构设计理念,在降低系统耦合的同时,也为上层用户构建 Flink 应用提供了丰富且友好的接口。

Flink 分层架构,从上到下依次是:API & Libraries 层、Runtime 核心层 和 物理部署层

API & Libraries 层

作为分布式数据处理框架,Flink 同时提供了支撑流计算和批计算的接口,同时在此基础上抽象出不同的应用类型的组件库,如基于流处理的 CEP (复杂事件处理库),SQL & TABLE 库 和 基于批处理的 FlinkML(机器学习库),Gelly(图处理库)等。

API 层包括构建流计算应用的 DataStream API 和批计算应用的 DataSet API,两者都是提供给用户丰富的数据处理高级 API,例如 Map,FlatMap 等,同时也提供比较低级的 Process Function API ,用户可以直接操作状态和时间等底层数据。

Runtime 核心层

该层主要负责对上层不同接口提供基础服务,也是 Flink 分布式计算框架的核心实现层,支持分布式 Stream 作业的执行、JobGraph 到 ExecutionGraph 的映射转换、任务调度等。

将 DataStream 和 DataSet 转成统一的可执行的 Task Operator,达到在流式引擎下同时处理批量计算和流式计算的目的

物理部署层

该层主要涉及 Flink 的部署模式,目前 Flink 支持多种部署模式:本地、集群(Standalone / YARN)、云(GCE / EC2)、kubenetes。

flink 能够通过该层支持不同平台的部署,用户可以根据需要选择使用对应的部署模式。

更多精彩,关注微信公众号:黑科技部落

最新文章

  1. 编译Android AOSP代码
  2. 由360手机卫士谈起——让你的service获取最高权限。
  3. 【javascript基础】2、函数
  4. python3.4 or 3.x xlwt replaced with xlwt-future
  5. Poj(1274),二分图匹配
  6. js实现图片预显示
  7. WM_INITDIALOG与WM_CREATE消息的区别
  8. myeclipse10 安装 testng插件
  9. ssh互信自动化脚本(待更新)
  10. HDU 3622 Bomb Game(2-sat)
  11. QT显示机制(7篇相关文章)
  12. [转]OpenSolaris 2009.06, dev setup
  13. Solr 5.5.0 + tomcat 7.0.69 + zookeeper-3.4.6 Cloud部署
  14. React Native入门教程2 -- 基本组件使用及样式
  15. 微信小程序 拖动图片一边进行截取
  16. wet 下载jdk 64位
  17. 编译内核时出现__bad_udelay错误
  18. spark之 spark 2.2.0 Standalone安装、wordCount演示
  19. 单点登录(十六)-----遇到问题-----cas4.2.x登录成功后报错No principal was found---cas中文乱码问题完美解决
  20. java bitmap/bitvector的分析和应用

热门文章

  1. C# - Winform - DevExpress - GridControl 任意条件控制Row背景色。
  2. disconf的简单使用与远程配置更改为使用本地配置
  3. canvas与svg整理与区别
  4. 开源一些C#不常用知识(附上DEMO)
  5. swagger页面详细讲解
  6. (原)pytorch中使用TensorRT
  7. Python字符编码和转码
  8. Linux操作系统安全-OpenSSL工具常用命令介绍
  9. P4137 Rmq Problem / mex(主席树)
  10. centos安装安全狗提示Need system command 'locate' to install safedog for linux的解决方法