02 2023 档案

摘要:端到端精确一次(end-to-end exactly-once) 实际应用中,最难做到、也最希望做到的一致性语义,无疑就是端到端(end-to-end)的“精确一次”(exactly-once)。对于Flink内部来说,检查点机制可以保证故障恢复后数据不丢(在能够重放的前提下),并且只处理一次,所以 阅读全文
posted @ 2023-02-21 22:19 坤坤呀 阅读(1193) 评论(0) 推荐(1)
摘要:状态一致性 之前说到检查点又叫作“一致性检查点”,是Flink容错机制的核心。接下来就对状态一致性的概念进行说明,结合理论和实际应用场景,讨论Flink流式处理架构中的应对机制。 一、一致性的概念和级别 在分布式系统中,一致性(consistency)是一个非常重要的概念;在事务(transacti 阅读全文
posted @ 2023-02-21 22:01 坤坤呀 阅读(198) 评论(0) 推荐(0)
摘要:检查点 流式数据连续不断地到来,无休无止;所以流处理程序也是持续运行的,并没有一个明确的结束退出时间。机器运行程序,996起来当然比人要容易得多,不过希望“永远运行”也是不切实际的。因为各种硬件软件的原因,运行一段时间后程序可能异常退出、机器可能宕机,如果只依赖一台机器来运行,就会使得任务的处理被迫 阅读全文
posted @ 2023-02-20 22:16 坤坤呀 阅读(756) 评论(0) 推荐(1)
摘要:简介 在Flink的状态管理机制中,很重要的一个功能就是对状态进行持久化(persistence)保存,这样就可以在发生故障后进行重启恢复。Flink对状态进行持久化的方式,就是将当前所有分布式状态进行“快照”保存,写入一个“检查点”(checkpoint)或者保存点(savepoint)保存到外部 阅读全文
posted @ 2023-02-05 17:31 坤坤呀 阅读(1991) 评论(0) 推荐(0)
摘要:简介 算子状态中有一类很特殊,就是广播状态(BroadcastState)。从概念和原理上讲,广播状态非常容易理解:状态广播出去,所有并行子任务的状态都是相同的;并行度调整时只要直接复制就可以了。然而在应用上,广播状态却与其他算子状态大不相同。本节就专门来讨论一下广播状态的使用。 一、基本用法 让所 阅读全文
posted @ 2023-02-05 17:22 坤坤呀 阅读(1340) 评论(0) 推荐(0)
摘要:简介 除按键分区状态(KeyedState)之外,另一大类受控状态就是算子状态(OperatorState)。从某种意义上说,算子状态是更底层的状态类型,因为它只针对当前算子并行任务有效,不需要考虑不同key的隔离。算子状态功能不如按键分区状态丰富,应用场景较少,它的调用方法也会有一些区别。 一、基 阅读全文
posted @ 2023-02-05 17:19 坤坤呀 阅读(1139) 评论(0) 推荐(0)
摘要:简介 在实际应用中,一般都需要将数据按照某个key进行分区,然后再进行计算处理;所以最为常见的状态类型就是KeyedState。之前介绍到keyBy之后的聚合、窗口计算,算子所持有的状态,都是KeyedState 另外,还可以通过富函数类(RichFunction)对转换算子进行扩展、实现自定义功能 阅读全文
posted @ 2023-02-05 17:09 坤坤呀 阅读(554) 评论(0) 推荐(0)
摘要:简介 在流处理中,数据是连续不断到来和处理的。每个任务进行计算处理时,可以基于当前数据直接转换得到输出结果;也可以依赖一些其他数据。这些由一个任务维护,并且用来计算输出结果的所有数据,就叫作这个任务的状态。 一、有状态算子 在Flink中,算子任务可以分为==无状态==和==有状态==两种情况。 无 阅读全文
posted @ 2023-02-05 16:47 坤坤呀 阅读(216) 评论(0) 推荐(0)