zoukankan      html  css  js  c++  java
  • Flink 保证ExactlyOnce

    Flink 保证 ExactlyOnce 

    1、使用执行ExactlyOnce 的数据源,比如 kafka

    2、使用FlinkConsumer,开启CheckPointing,偏移量会保存通过CheckPointing 保存到StateBackend中,并且默认会将偏移量写入kafka的特殊 topic中,即 __consumer_offsets

    3、FlinkKafkaConsumer的setCommitOffsetsOnCheckpoints 参数默认为true,即将偏移量写入到kafka特殊的 Topic中,目的是为了监控或重启任务没有指定savePoint时可以接着以前的偏移量继续消费。

    4、并且设置CheckpointingMode.EXACTLY_ONCE

    5、存储系统支持覆盖(Redis、Hbase、ES) 使用幂等性,将原来的数据覆盖

    6、Barrier(隔离带)可以保证一个流水线中的所有算子都处理完成了在对该条数据做CheckPoint。

    7、存储系统不支持覆盖

    要支持事务,成功了提交事务和偏移量,如果失败可以回滚且不更新偏移量

  • 相关阅读:
    join函数——Gevent源码分析
    代理上网(ssh 动态端口转发)
    内核热patch
    技术债
    mysql 隔离级别与间隙锁等
    python type
    django : related_name and related_query_name
    ssh 卡主
    logistics regression
    __new__ 和 __init__
  • 原文地址:https://www.cnblogs.com/ssqq5200936/p/13513449.html
Copyright © 2011-2022 走看看