MillWheel 使用了一种名为「Strong production」的机制将每个算子的输出在发送至下游之前都进行了什么化存储?
MillWheel 使用了一种名为「Strong production」的机制将每个算子的输出在发送至下游之前都进行了持久化存储,一旦发生了故障,当需要恢复时,引擎可以直接将存储后的结果发出去。回头再看端到端一致性数据处理语义的充分必要条件,显然 MillWheel 是符合「实时存储每一条中间和最终计算结果」这个条件的。对于存在不确定性计算的流计算场景,当 FailOver 时,引擎会从源头重新发送消息进行重算,多次计算可能会产生的不一致的结果,但由于「Strong Production」会对计算进行去重,因此即便进行了多次重算,但有且仅有一次重算的结果被输出给下游(下游算子或结果接受端),从整体上来看数据是满足一致性的,这也被称之为「Effective Determinism」。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。