深圳专业建站系统建站公司wordpress登陆logo
一、起源
- 2010至2014年间,由柏林工业大学、柏林洪堡大学和哈索普拉特纳研究所联合发起名Stratosphere的研究项目。
- 2014年4月,项目贡献给Apache基金会,成为孵化项目。更名为Flink
- 2014年12月,成为基金会顶级项目
- 2015年9月,发布第一个稳定版本0.9
- Flink1.7,第一个完全支持Scala2.12 -2018年
- 最新-Flink1.17
 后续版本flink持续更新中,后续我们的案例以flink1.15来实现
二、简介
定义:Apache Flink是一个分布式处理引擎,用于对无界和有界流进行有状态处理。
 优点:低延迟、高吞吐、结果的准确性和良好的容错性
 重点关键词:分布式、无界和有界、状态处理
解释:
 分布式:运算过程分布在不同的节点甚至机器进行。
 有界与无界:在flink的世界观众,一切都是流。有界只是流指定了起点和终点,数据是固定的;无界则数据源源不断的产生,没有结束边界。
 
三、用途
用途十分广泛,如:
- 电商和市场营销
 数据报表、广告投放、业务流程需要
- 物联网(IOT)
 传感器实时采集和显示、实时报警,交通运输业
- 电信业
 基站流量调配
- 银行和金融业
 实时结算和通知推送,实时监测异常行为
- 其它应用:实时数仓和ETL、复杂事件处理
四、Flink的特点和优势
- 分层API
 底层的状态操作、ProcessFunction等 (属于大招)
 中间层:流API操作,窗口等操作。
 顶层:Table和SQL API
  
 顶层API一直在完善中,一般使用中间层就足够了,特殊需求需要使用底层API。
- 事件驱动
 由一个事件驱动,周期性地保存磁盘(checkpoint),计算结果可以持久化到外部设备。即来一条处理一条 
 传统的事务应用(如Web应用)也是一种事件驱动型。
- 基于流的世界观
 此特点上述过程已叙述。
Flink的具体优势:
- 时间语义丰富: 支持事件时间(event-time)和处理时间(process-time)、注入时间(IngestionTime)
- 精确一次(exactly-once)的状态一致性保证。
- 低延迟,每秒处理几百万
- 高可用,7*24不间断运行
- 与多个存储介质兼容(Kafka/ES/Hive/Mysql)
下一篇以应用实例来进行讲解
