数据工匠流式账本调度工作原理

时间:2018-09-04 18:20:00

标签: streaming apache-flink flink-streaming dbartisan

我已经阅读了白皮书,但有关数据工匠流式账本,但发现它仅包含有关如何使用该框架的高级概述。

我一直在寻找更深入的解释或研究论文,以解释如何在内部完成多键事务调度以及如何使用逻辑时钟来保证一致性。

有人知道我在哪里可以找到更多详细信息吗?

1 个答案:

答案 0 :(得分:0)

好的,这就是我到目前为止发现的 1-交易必须是确定性的,这意味着它写入的值仅取决于其读取的值,不允许读取挂钟时间或生成随机数... 2-若要将事务排队等待执行,您需要定义将要读写的完整键集,不允许触摸的键动态地取决于事务执行期间读取的值。

因此,一旦事务进入队列,所有分区将相对于其他事务(该事务位于队列中)以相同的顺序对其进行处理,并且负责此事务处理的某些键的所有工作人员都可以静态确定。

一旦所有这些工作程序到达队列中的此事务位置,它们就会首先执行所有读取操作,并将已读取的值发送给将执行至少一次写操作的所有工作程序。然后,负责至少一个写操作的所有工作程序在本地准备写操作,并报告事务是否应回滚到所有其他节点。如果所有节点都同意提交所有工作程序,则提交本地准备好的写操作。