开发者社区 问答 正文

MillWheel 使用了一种名为「Strong production」的机制将每个算子的输出在发送

MillWheel 使用了一种名为「Strong production」的机制将每个算子的输出在发送至下游之前都进行了什么化存储?

展开
收起
游客gwxzsspn6neze 2022-05-10 18:36:41 497 分享
分享
版权
来自: 阿里技术 举报
1 条回答
写回答
取消 提交回答
  • MillWheel 使用了一种名为「Strong production」的机制将每个算子的输出在发送至下游之前都进行了持久化存储,一旦发生了故障,当需要恢复时,引擎可以直接将存储后的结果发出去。回头再看端到端一致性数据处理语义的充分必要条件,显然 MillWheel 是符合「实时存储每一条中间和最终计算结果」这个条件的。对于存在不确定性计算的流计算场景,当 FailOver 时,引擎会从源头重新发送消息进行重算,多次计算可能会产生的不一致的结果,但由于「Strong Production」会对计算进行去重,因此即便进行了多次重算,但有且仅有一次重算的结果被输出给下游(下游算子或结果接受端),从整体上来看数据是满足一致性的,这也被称之为「Effective Determinism」。

    2022-05-13 15:32:14 举报
    赞同 评论

    评论

    全部评论 (0)

    登录后可评论
问答地址: