Savepoint 作为实时任务的全局镜像,其在底层使用的代码和Checkpoint的代码是一样的。。。举例说明
时间: 2023-06-24 18:06:59 浏览: 76
基于Flink Rest API 二开的Web 控制台,支持作业管理、一键Savepoint及恢复,可视化实时数据同步功能
Savepoint和Checkpoint都是在流式处理任务中用于实现容错机制的技术。它们的底层代码确实非常相似,都涉及到将当前任务状态保存到一个可靠的存储介质中,并且在需要恢复任务时,从这个存储介质中读取保存的状态信息。
举一个例子,假设我们正在实现一个实时传感器数据处理任务。该任务需要每秒处理数千个数据点,并根据数据点的值来触发一些特定的行动。由于数据流是持续不断的,因此在任务执行期间,可能会发生各种各样的故障,比如节点故障、网络故障等等。
为了保证任务的容错性,我们可以使用Checkpoint或Savepoint技术来实现任务状态的定期备份。在备份过程中,我们会将当前正在处理的数据点、已经触发的行动等信息保存到一个可靠的存储介质中,比如HDFS、S3等等。如果任务在后续执行期间发生故障,我们可以使用之前备份的状态信息来恢复任务执行,从而避免数据丢失和任务失败的情况发生。
在实现Checkpoint或Savepoint时,我们需要考虑很多细节问题,比如如何实现存储介质的容错性、如何避免因频繁备份而导致的性能问题等等。但是无论使用哪种技术,它们都需要在底层实现类似的状态备份和恢复逻辑。
阅读全文