到底要不要用Flink

  |   0 评论   |   42 浏览

为什么选择Flink

  1. 流数据

  2. 传统数据架构基于的是有限数据集

  3. 低延迟,高吞吐,结果准确,良好的容错性

什么业务场景需要Flink

  1. 电商和市场营销

    1. 数据报表、广告投放、业务流程需要
  2. 物联网

    1. 传感器,实时采集和现实,实时报警

    2. 交通运输业

  3. 电信业

    1. 基站流量调配
  4. 银行和金融

    1. 实时结算和通知推送

    2. 实时检测异常行为

https://ci.apache.org/projects/flink/flink-docs-release-1.9/api/python/

有状态的流式处理

  1. 高吞吐

  2. 低延迟

  3. 操作简单,表现力好

  4. 时间正确/语义化窗口

  5. 在压力下保持正确,故障恢复

主要特点

  1. 事件驱动

  2. 基于流的世界观

    1. 有界流

    2. 无界流

  3. 分层API

    1. 抽象,简明,方便

    2. 具体,使用灵活

    3. sql/table api

    4. data-stream api: 几乎都能搞定

    5. proceessFunction

  4. 支持事件时间,和处理时间

  5. 精确一次的状态一致性 extactly once

  6. 低延迟,100w/s ms 延迟

  7. 与很多存储系统可以链接,kafka

  8. 高可用,动态扩展,24h作业

flink VS Spark Streaming

  1. 数据模型

    1. spark 采用RDD模型,spark streaming 的Dstream 实际上也就是一组组小批数据RDD集合

    2. Flink 基本数据模型是数据流,以及事件Event序列

  2. 运行时架构

    1. spark是批计算,将DAG划分为不同的stage,一个完成后才可以计算下一个

    2. Flink是标准的流执行模式,一个事件在一个节点处理完后可以直接发往下一个节点进行处理


标题:到底要不要用Flink
作者:lishulongVI
地址:https://blog.thinking.mobi/articles/2020/06/23/1592927327907.html

评论

发表评论