文档首页 > > 开发指南> Flink应用开发> 概述> 应用开发简介

应用开发简介

分享
更新时间: 2019/10/30 GMT+08:00

Flink是一个批处理和流处理结合的统一计算框架,其核心是一个提供了数据分发以及并行化计算的流数据处理引擎。

Flink最适合的应用场景是低时延的数据处理(Data Processing)场景:高并发pipeline处理数据,时延毫秒级,且兼具可靠性。

Flink整个系统包含三个部分:

  • Client

    Flink Client主要给用户提供向Flink系统提交用户任务(流式作业)的能力。

  • TaskManager

    Flink系统的业务执行节点,执行具体的用户任务。TaskManager可以有多个,各个TaskManager都平等。

  • JobManager

    Flink系统的管理节点,管理所有的TaskManager,并决策用户任务在哪些Taskmanager执行。JobManager在HA模式下可以有多个,但只有一个主JobManager。

Flink系统提供的关键能力:

  • 低时延

    提供ms级时延的处理能力。

  • Exactly Once

    提供异步快照机制,保证所有数据真正只处理一次。

  • HA

    JobManager支持主备模式,保证无单点故障。

  • 水平扩展能力

    TaskManager支持手动水平扩展。

Flink DataStream API提供Scala和Java两种语言的开发方式,如表1所示。

表1 Flink DataStream API接口

功能

说明

Scala API

提供Scala语言的API,提供过滤、join、窗口、聚合等数据处理能力。由于Scala语言的简洁易懂,推荐用户使用Scala接口进行程序开发。

Java API

提供Java语言的API,提供过滤、join、窗口、聚合等数据处理能力。

有关Flink的详细信息,请参见:https://flink.apache.org/

分享:

    相关文档

    相关产品

文档是否有解决您的问题?

提交成功!

非常感谢您的反馈,我们会继续努力做到更好!

反馈提交失败,请稍后再试!

*必选

请至少选择或填写一项反馈信息

字符长度不能超过200

提交反馈 取消

如您有其它疑问,您也可以通过华为云社区问答频道来与我们联系探讨

智能客服提问云社区提问