网站网页制作电话推广计划英文
- 作者: 五速梦信息网
- 时间: 2026年03月21日 07:25
当前位置: 首页 > news >正文
网站网页制作电话,推广计划英文,网站开发与设计实验报告总结,有口碑的大连网站建设1.什么是状态 官方定义#xff1a;当前计算流程需要依赖到之前计算的结果#xff0c;那么之前计算的结果就是状态。 这句话还是挺好理解的#xff0c;状态不只存在于Flink#xff0c;也存在生活的方方面面#xff0c;比如看到一个认识的人#xff0c;如何识别认识呢当前计算流程需要依赖到之前计算的结果那么之前计算的结果就是状态。 这句话还是挺好理解的状态不只存在于Flink也存在生活的方方面面比如看到一个认识的人如何识别认识呢就是眼睛看到这个人的样子再和大脑记忆中的人做对比就知道认识这个人其中大脑记忆中的人就是存储在状态中。 状态又分为无状态和有状态。 无状态例如消费延迟计算单条输入包含所有的信息不依赖于历史消息。在这种模式的计算中无论这条输入进来多少次输出的结果都是一样的因为单条输入中已经包含了所需的所有信息。消费落后等于生产者减去消费者。生产者的消费在单条数据中可以得到消费者的数据也可以在单条数据中得到所以相同输入可以得到相同输出这就是一个无状态的计算。有状态例如访问量统计单条输入仅包含部分信息依赖历史消息。这种模式是将数据输入算子中用来进行各种复杂的计算并输出数据。这个过程中算子会去访问之前存储在里面的状态。另外一方面它还会把现在的数据对状态的影响实时更新如果输入100 条数据最后输出就是 100 条结果。 2.状态应用场景 通常以下4种场景会用到状态 去重比如上游的系统数据可能会有重复落到下游系统时希望把重复的数据都去掉。去重需要先了解哪些数据来过哪些数据还没有来也就是把所有的主键都记录下来当一条数据到来后能够看到在主键当中是否存在。窗口计算比如统计每分钟 Nginx 日志 API 被访问了多少次。窗口是一分钟计算一次在窗口触发前如 08:00 ~ 08:01 这个窗口前59秒的数据来了需要先放入内存即需要把这个窗口之内的数据先保留下来等到 8:01 时一分钟后再将整个窗口内触发的数据输出。未触发的窗口数据也是一种状态。机器学习/深度学习如训练的模型以及当前模型的参数也是一种状态机器学习可能每次都用有一个数据集需要在数据集上进行学习对模型进行一个反馈。访问历史数据比如与昨天的数据进行对比需要访问一些历史数据。如果每次从外部去读对资源的消耗可能比较大所以也希望把这些历史数据也放入状态中做对比。 3.状态管理 实时计算中的状态的功能主要体现在任务可以做到失败重启后没有数据质量、时效问题。 数据质量问题当实时任务挂掉后从消息失败offset位置开始消费数据就错误。数据时效问题实时任务要求有时效性当从源offset开始位置运行时需要好几个小时才能追上当前offset。时效性就很差。 针对以上问题就引出了状态管理。 当我们把数据定期例如每隔10min的给存储到 HDFS 上面时任务挂了、恢复之后。我们的任务还可以从 HDFS 上面把这个数据给读回来接着从最新的一个 Kafka Offset 继续计算就可以这样既没没有数据质量问题也没有数据时效性问题。 因此实时计算中提到的状态的概念重点不止在于状态本身更重要的在于强调 管理 状态。 基于上述状态管理对流式作业的要求总结如下 7*24小时运行高可靠数据不丢不重恰好计算一次数据实时产出不延迟 但是基于以上要求内存的管理就会出现一些问题。由于内存的容量是有限制的。如果要做 24 小时的窗口计算将 24 小时的数据都放到内存可能会出现内存不足另外作业是 7*24需要保障高可用机器若出现故障或者宕机需要考虑如何备份及从备份中去恢复保证运行的作业不受影响此外考虑横向扩展假如网站的访问量不高统计每个 API 访问次数的程序可以用单线程去运行但如果网站访问量突然增加单节点无法处理全部访问数据此时需要增加几个节点进行横向扩展这时数据的状态如何平均分配到新增加的节点也问题之一。因此将数据都放到内存中并不是最合适的一种状态管理方式。 最理想的状态管理需要满足易用、高效、可靠三点需求 易用Flink 提供了丰富的数据结构、多样的状态组织形式以及简洁的扩展接口让状态管理更加易用高效实时作业一般需要更低的延迟一旦出现故障恢复速度也需要更快当处理能力不够时可以横向扩展同时在处理备份时不影响作业本身处理性能可靠Flink 提供了状态持久化包括不丢不重的语义以及具备自动的容错能力比如 HA当节点挂掉后会自动拉起不需要人工介入。 4.状态后端 做状态数据持久化restore的工具就叫做状态后端。比如在 Flink 中见到的 RocksDB、FileSystem 的概念就是指状态后端。这些状态后端就是实际存储上面的状态数据的。比如配置了 RocksDB 作为状态后端MapState 的数据就会存储在 RocksDB 中。 总的来说可以这么理解应用中有一份状态数据把这份状态数据存储到 MySQL 中这个 MySQL 就能叫做状态后端。 5.Checkpoint和Savepoint 概念协调整个任务 whenhow 去将 Flink 任务本地机器中存储在状态后端的状态去同步到远程文件存储系统比如 HDFS的过程就叫 Checkpoint、Savepoint。 Flink 状态保存主要依靠 Checkpoint 机制Checkpoint 会定时制作分布式快照对程序中的状态进行备份。分布式快照 Checkpoint 完成后当作业发生故障了如何去恢复假如作业分布跑在 3 台机器上其中一台挂了。这个时候需要把进程或者线程移到 active 的 2 台机器上此时还需要将整个作业的所有 Task 都回滚到最后一次成功 Checkpoint 中的状态然后从该点开始继续处理。 Checkpoint流程如下 JM 定时调度 Checkpoint 的触发JM CheckpointCoorinator 定时触发CheckpointCoordinator 会去通过 RPC 接口调用 Source 算子的 TM 的 StreamTask 告诉 TM 可以开始执行 Checkpoint 了。Source 算子接受到 JM 做 Checkpoint 的请求后开始做本地 Checkpoint本地执行完成之后发 barrier 给下游算子。barrier 发送策略是随着 partition 策略走将 barrier 发往连接到的所有下游算子举例keyby 就是广播forward 就是直接送。剩余的算子接收到上游所有 barrier 之后进行触发 Checkpoint。当一个算子接收到上游一个 channel 的 barrier 之后就停止处理这个 input channel 来的数据本质上就是不会再去影响状态了 Savepoint 与 Checkpoint 类似同样是把状态存储到外部介质。当作业失败时可以从外部恢复。主要区别如下
- 上一篇: 网站网页优化怎么做学科网站建设管理
- 下一篇: 网站网页制作专业公司wordpress标签文章置顶
相关文章
-
网站网页优化怎么做学科网站建设管理
网站网页优化怎么做学科网站建设管理
- 技术栈
- 2026年03月21日
-
网站网页设计在哪找wordpress客户端登录界面
网站网页设计在哪找wordpress客户端登录界面
- 技术栈
- 2026年03月21日
-
网站网页设计项目计划书微信公众号官方平台
网站网页设计项目计划书微信公众号官方平台
- 技术栈
- 2026年03月21日
-
网站网页制作专业公司wordpress标签文章置顶
网站网页制作专业公司wordpress标签文章置顶
- 技术栈
- 2026年03月21日
-
网站网站集约化建设建设公司建站系统
网站网站集约化建设建设公司建站系统
- 技术栈
- 2026年03月21日
-
网站网站建设考虑要素wordpress 扒站教程
网站网站建设考虑要素wordpress 扒站教程
- 技术栈
- 2026年03月21日






