【Flink】容错机制

目录

1、检查点

​编辑1.1 检查点的保存

1.1.1 周期性的触发保存

1.1.2 保存的时间点

1.1.3 时间点的保存与恢复

1.1.3.1保存

​编辑

1.1.3.2 恢复的具体步骤:

1.2 检查点算法

1.2.1 检查点分界线(Barrier)

1.2.2 分布式快照算法(Barrier对齐的精准一次)

1.2.3 分布式快照算法(Barrier对齐的至少一次)

1.2.4 分布式快照算法(非Barrier对齐的精准一次)

1.3检查点配置

1.3.1启用检查点  

1.3.2检查点存储

1.3.3其它高级配置

1.3.3.1常用高级配置

1.3.4通用增量 checkpoint (changelog)

1.3.5最终检查点

1.5保存点

1.5.1保存点的用途

1.5.2使用保存点

1.5.2.1 创建保存点

1.5.2.2从保存点重启应用

1.5.3 使用保存点切换状态后端

1.5.3.1 提交flink作业

1.5.3.2 停止flink作业时,触发保存点

1.5.3.3 从savepoint恢复作业,同时修改状态后端

1.5.3.4 从保存下来的checkpoint恢复作业

2、状态一致性

2.1 一致性的概念和级别

2.2 端到端的状态一致性

3、端到端精确一次

3.1 输入端保证

3.2 输出端保证

3.2.1幂等(Idempotent)写入

3.2.1.1预写日志(write-ahead-log,WAL)

3.2.1.2两阶段提交(two-phase-commit,2PC)

3.3 Flink和Kafka连接时的精确一次保证

3.3.1整体介绍

        3.3.1.1 Flink内部

        3.3.1.2输入端

        3.3.1.3输出端

3.3.2需要的配置


在Flink中,有一套完整的容错机制来保证故障后的恢复,其中最重要的就是检查点

1、检查点

        在流处理中,我们可以用存档读档的思路,将之前某个时间点的所有状态保存下来,这份“存档”就是所谓的“检查点”。

        这里所谓的检查,是针对故障恢复结果而言的:故障恢复之后继续处理的结果,应该与发生故障之前完全一致,我们需要检查结果的正确性,所以有时又会把checkpoint叫做“一致性检查点”。

1.1 检查点的保存

1.1.1 周期性的触发保存

        “随时存档”确实恢复起来方便,可是需要我们不停地做存档操作。如果每处理一条数据就进行检查点的保存,当大量数据同时到来时,就会耗费很多资源来频繁做检查点,数据处理的速度就会受到影响。所以在Flink中,检查点的保存是周期性触发的,间隔时间可以进行设置。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/192947.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

HTML简介

1,网页 网页的相关概念 1.1,什么是网页? 网页是构成网站的基本元素,它通常由图片,链接,文字,声音,视频等元素组成。其实就是一个常见以.htm或.html后缀结尾的文件,因此…

页面表格高度自适应

前言 现在后端管理系统主页面基本都是由三部分组成 查询条件,高度不固定,可能有的页面查询条件多,有的少表格,高度不固定,占据页面剩余高度分页,高度固定 这三部分加起来肯定是占满全屏的,那么我…

ES6 generator Symbol yield

Symbol 独一无二的值 const s1 Symbol(a)const s2 Symbol(a)console.log(s1 s2) // falseconsole.log(typeof s1) // symbollet o {a: 90,}let symbol Symbol()o[symbol] 100console.log(o)//{a: 90, Symbol(): 100} 普通函数一旦执行 函数体从上往下依次执行 functio…

Python高级数据结构——图论算法(Graph Algorithms)

Python中的图论算法(Graph Algorithms):高级数据结构解析 图是一种由节点(顶点)和边组成的数据结构,用于表示不同元素之间的关系。图论算法旨在解决与图相关的问题,例如路径查找、最短路径、最…

零基础上手,秒识别检测,IDEA研究院发布全新T-Rex模型

目标检测作为当前计算机视觉落地的热点技术之一,已被广泛应用于自动驾驶、智慧园区、工业检测和卫星遥感等场景。开发者在研究相关目标检测技术时,通常需熟练掌握图像目标检测框架,如通用目标检测框架 YOLO 系列,旋转目标检测框架…

python-绘图(主次坐标轴)

-- coding: utf-8 -- “”" Spyder Editor This is a temporary script file. “”" import pandas as pd import numpy as np import matplotlib.pyplot as plt data1pd.ExcelFile(r"D:\ZXL工作文件\6.15\6.16汇报内容1.xlsx")raw_datapd.read_excel(d…

『Nginx安全访问控制』利用Nginx实现账号密码认证登录的最佳实践

📣读完这篇文章里你能收获到 如何创建用户账号和密码文件,并生成加密密码配置Nginx的认证模块,实现基于账号密码的登录验证 文章目录 一、创建账号密码文件1. 安装htpasswd工具1.1 CentOS1.2 Ubuntu 二、配置Nginx三、重启Nginx 在Web应用程…

SpringAMQP入门案例——发送消息

依赖 <!--SpringAMQP起步依赖--> <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-amqp</artifactId> </dependency> yml配置文件 自行修改 spring:rabbitmq:host: 192.168.220.130 # …

CyclicBarrier实战应用——批量数据多线程协调异步处理(子线程执行事务回滚)

&#x1f60a; 作者&#xff1a; 一恍过去 &#x1f496; 主页&#xff1a; https://blog.csdn.net/zhuocailing3390 &#x1f38a; 社区&#xff1a; Java技术栈交流 &#x1f389; 主题&#xff1a; CountDownLatch实战应用——批量数据多线程协调异步处理(子线程执行事务…

【源码篇】基于SpringBoot+thymeleaf实现的大学生自习室座位预定系统

文章目录 系统介绍管理员学生 技术选型成果展示账号地址及其他说明 系统介绍 基于SpringBootthymeleaf实现的大学生自习室座位预定系统是为座位管理打造的一款在线管理平台&#xff0c;它可以实时完成信息处理&#xff0c;使其系统化和规范化。 系统功能说明 管理员 1、用户…

误用STM32串口发送标志位 “USART_FLAG_TXE” “USART_FLAG_TC”造成的BUG

当你使用串口发送数据时是否出现过这样的情况&#xff1a; 1.发送时第一个字节丢失。 2.发送时出现莫名的字节丢失。 3.各种情况字节丢失。 1.先了解一下串口发送的流程图&#xff08;手动描绘&#xff09;&#xff1a; 可以假想USART_FLAG_TXE是用于检测"弹仓"&…

【Rust日报】2023-11-30 Rust 异步编程中的困境:针对固定问题的探讨

Rust 临时生存期和super let 这篇文章讨论了 Rust 语言中临时变量的生存期问题以及一个新的语言想法——super let。作者首先介绍了临时变量的生存期规则&#xff0c;并探讨了临时生存期扩展的几种应用场景。然后&#xff0c;作者提出了super let的概念&#xff0c;旨在提供更多…

【STM32F103】GPIO通用输入输出口

GPIO 简介 GPIO&#xff08;General Purpose Input Output&#xff09;通用输入输出口是微控制器&#xff08;MCU&#xff09;必备的片上外设&#xff0c;可以实现微控制器与外部设备的数字交换。 STM32F103系列的芯片最多可以提供112个多功能双向IO引脚&#xff0c;但是显然…

架构师要懂的:一个新系统的服务器配置怎么计算,要多少资源

一. 私有云、公有云、混合云的区别 回答&#xff1a; 1.价格更贵 2.在企业内部使用 3.个性化定制&#xff0c;将IT硬件资源通过虚拟化的形式提供给企业内使用 私有云指由企业或组织自行搭建的云平台&#xff0c;只对内部人员可用&#xff0c;数据和应用程序都在企业或组织内…

机器学习-回归问题(Regression)

前言 与KNN分类任务预测的输出为离散型不同. 在机器学习中&#xff0c;回归任务是用于预测连续数值型变量的任务。回归任务在很多领域都有着广泛的应用. 回归问题求解 在一个回归问题中&#xff0c;很显然模型选择和好坏会直接关系到将来预测结果的接近程度&#xff0c;举个…

规则引擎专题---2、开源规则引擎对比

开源规则引擎 开源的规则引擎整体分为下面几类&#xff1a; 通过界面配置的成熟规则引擎&#xff0c;这种规则引擎相对来说就比较重&#xff0c;但功能全&#xff0c;比较出名的有:drools, urule。 基于jvm脚本语言&#xff0c;互联网公司会觉得drools太重了&#xff0c;然后…

常见的AI安全风险(数据投毒、后门攻击、对抗样本攻击、模型窃取攻击等)

文章目录 数据投毒&#xff08;Data Poisoning&#xff09;后门攻击&#xff08;Backdoor Attacks&#xff09;对抗样本攻击&#xff08;Adversarial Examples&#xff09;模型窃取攻击&#xff08;Model Extraction Attacks&#xff09;参考资料 数据投毒&#xff08;Data Poi…

GEE:不同方向的线性检测算子

作者:CSDN @ _养乐多_ 本文将介绍在 Google Earth Engine(GEE)平台上,使用不同方向的线性检测算子进行卷积操作的代码框架、核心函数和多种卷积核,比如 E-W、NE-SW、N-S、NW-SE 方向检测算子等。 结果如下图所示, 文章目录 一、定向检测算子二、完整代码三、代码链接一…

ubuntu上创建服务启动python脚本

场景 最近在使用ubuntu服务器部署MySQL和同步数据&#xff0c;同步数据使用的是python&#xff0c;但是我不能直接操作服务器&#xff0c;只能通过Xshell远程访问服务器&#xff0c;但是启动python脚本的时候如果关掉xshell会停止Python脚本&#xff0c;所以如果要让python脚本…

伪类,伪元素有什么,区别是什么

在CSS中&#xff0c;伪类&#xff08;pseudo-classes&#xff09;和伪元素&#xff08;pseudo-elements&#xff09;是用来选择文档中不同状态或特定部分的技术。它们的作用是为了能够更精确地选择文档中的某些部分&#xff0c;以便对其应用样式或效果。 伪类&#xff08;pseu…