课程咨询: 400-996-5531 / 投诉建议: 400-111-8989
认真做教育 专心促就业
状态与容错是程序员在开发软件的时候都需要重点关注的两个问题,而今天我们就通过案例分析来了解一下,状态与容错的关系都有哪些。
状态指的是某一时刻程序中各个字段、变量等在内存中的值,容错指的是对这些状态进行存储落盘、读取恢复的过程。因此,关键之处在于选取哪些值进行存储和恢复,以保证这样的存储和恢复具有业务价值。对这一点的理解与取舍,便是不同框架对状态与容错机制设计的出发点。
存储处理数据后的结果:在计算模型中,将数据按条处理。可以在处理数据的算子中定义一个字段,每处理一条数据,就按照业务逻辑对该字段进行更新。在进行状态存储时,仅存储该字段的值。在作业重启时,只需恢复该字段的值。
存储数据本身:在计算模型中,以数据集的方式处理数据。数据集会被多个算子处理,因此可以在它被某个算子处理完后将这个中间结果保存下来。这样在恢复时,就可以从这个完整的中间结果开始继续运行。
存储数据位置:由于计算引擎的数据一定有一个数据源,而某些数据源会为每条数据记录它在数据源中的位置。计算引擎可以将读取到的新一条数据在数据源的位置记录下来,将其作为状态保存和恢复。
在不同的业务和技术场景下,状态与容错的解决方案理论上有无穷多,与每个计算框架的计算模型紧密相关。此外,一个框架的状态与容错机制能达到什么样的效果,还跟与其对接的组件有关(端到端的数据一致性问题)。比如上述三例,倘若数据源并没有记录数据的位置信息,那么该容错机制也无法有效运行。
希望这辈子,最让你无悔的事情就是来达内学习!学习向来不是件易事,但无论过程多么艰难,希望你依然热爱生活,热爱学习!永远记得,达内将与你一同前行!现在扫码,立即领取万元课程礼包,助力0基础快速入行,为你梳理行业必备技能,全方位了解岗位发展前景!
【免责声明】:本内容转载于网络,转载目的在于传递信息。文章内容为作者个人意见,本平台对文中陈述、观点保持中立,不对所包含内容的准确性、可靠性与完整性提供形式地保证。请读者仅作参考。更多内容请在707945861群中学习了解。欢迎关注“达内在线”参与分销,赚更多好礼。