Flink 应用的一致性保障】的更多相关文章

应用一致性保障 在Flink中,会自动做检查点,用于故障时恢复一个应用.在恢复时,application的state信息可以根据最近完成的检查点进行重建,并继续运行.不过,仅将一个application的state进行重置并不足以满足exactly-once的保证. 为了给一个应用提供exactly-once保证,在应用根据检查点重置state时,它的每个source connector都应该有能力将它的read position重置到做检查点时的read position.在做一个检查点时,s…
转 http://ifeve.com/zookeeper-consistency-guarantees/ 本文翻译自<ZooKeeper官方指南>,译者:追云,校对:追云 一致性保障 ZooKeeper是一个高性能,可扩展的服务.虽然读比写更快,但在设计上,它的读操作和写操作都很快.(读比写更快)之所以会这样,是因为在某些“读”的情况下,ZooKeeper对更古老的数据会起作用,这反过来也是得益于ZooKeeper的一致性保障: 连续一致性 来自客户端的更新将会被应用到那些它们被发送的命令中.…
本文摘自书籍<Flink基础教程> 一.一致性的三种级别 当在分布式系统中引入状态时,自然也引入了一致性问题.一致性实际上是“正确性级别”的另一种说法,即在成功处理故障并恢复之后得到的结果,与没有发生任何故障时得到的结果相比.在流处理中,一致性分为 3 个级别. at-most-once:数据最多被处理一次.这其实是没有正确性保障的委婉说法——故障发生之后,计数结果可能丢失. at-least-once:数据最少被处理一次.这表示计数结果可能大于正确值,但绝不会小于正确值.也就是说,计数程序在…
上一章<windows下flink示例程序的执行> 简单介绍了一下flink在windows下如何通过flink-webui运行已经打包完成的示例程序(jar),那么我们为什么要使用flink呢? flink的特征 官网给出的特征如下: 1.一切皆为流(All streaming use cases ) 事件驱动应用(Event-driven Applications) 流式 & 批量分析(Stream & Batch Analytics) 数据管道&ETL(Data…
流式计算分为无状态和有状态两种情况.无状态计算观察每个独立的事件,Storm就是无状态的计算框架,每一条消息来了以后和前后都没有关系,一条是一条.比如我们接收电力系统传感器的数据,当电压超过240v就报警,这就是无状态的数据.但是如果我们需要同时判断多个电压,比如三相电路,我们判断三相电都高于某个值,那么就需要将状态保存,计算.因为这三条记录是分别发送过来的. Storm需要自己实现有状态的计算,比如借助于自定义的内存变量或者redis等系统,保证低延迟的情况下自己去判断实现有状态的计算,但是F…
有状态的计算作为容错以及数据一致性的保证,是当今实时计算必不可少的特性之一,流行的实时计算引擎包括 Google Dataflow.Flink.Spark (Structure) Streaming.Kafka Streams 都分别提供对内置 State 的支持.State 的引入使得实时应用可以不依赖外部数据库来存储元数据及中间数据,部分情况下甚至可以直接用 State 存储结果数据,这让业界不禁思考: State 和 Database 是何种关系?有没有可能用 State 来代替数据库呢?…
Flink 读写Kafka 在Flink中,我们分别用Source Connectors代表连接数据源的连接器,用Sink Connector代表连接数据输出的连接器.下面我们介绍一下Flink中用于读写kafka的source & sink connector. Apache Kafka Source Connectors Apache Kafka 是一个分布式的流平台,其核心是一个分布式的发布-订阅消息系统,被广泛用于消费与分发事件流. Kafka将事件流组织成为topics.一个topic…
一.Flink概述 1.基础简介 Flink是一个框架和分布式处理引擎,用于对无界和有界数据流进行有状态计算.Flink被设计在所有常见的集群环境中运行,以内存执行速度和任意规模来执行计算.主要特性包括:批流一体化.精密的状态管理.事件时间支持以及精确一次的状态一致性保障等.Flink不仅可以运行在包括YARN.Mesos.Kubernetes在内的多种资源管理框架上,还支持在裸机集群上独立部署.在启用高可用选项的情况下,它不存在单点失效问题. 这里要说明两个概念: 边界:无边界和有边界数据流,…
前段时间详细地阅读了 <Apache Flink的流处理> 这本书,作者是 Fabian Hueske&Vasiliki Kalavri,国内崔星灿翻译的,这本书非常详细.全面得介绍了Flink流处理,并且以气象数据的例子讲解其中的使用,我把其中一些比较重要的句子做了比较,并且分享给大家.有一些我不是很理解,需要以后慢慢去消化,我就不做详细的展开. 一.传统的数据处理框架 1.1事务型处理 企业在日常业务运营过程中会用到各类基于web的应用,通常是业务系统,比如订单.客户系统等等   …
一致性算法是分布式系统中最重要的问题之一.表面上看,这似乎很简单,只是让几个节点在某些方面达成一致.在本篇之中,会带大家完整的梳理分布式系统之中的共识算法,来更加深刻的理解分布式系统的设计. 1.原子提交和两阶段提交(2PC) 原子提交防止了数据库处于半更新的状态,这对于需要满足多对象事务和维护次级索引的数据库尤为重要.每个次级索引都是从主数据中分离出来的数据结构,因此,如果修改某些数据,也需要在次级索引中做出相应的更改.通过原子性保证二级索引能够与原数据保持一致. 分布式系统下的原子提交 我们…