2015-02-08 60 views
0

我想知道三叉戟批次是否并行执行,即多批次可以同时运行?风暴三叉戟批次是否同时处理?

除此之外,我还有几个问题太小而无法单独发布。如果它们足够大,可以随意发表评论以单独发布。

  1. 如果什么样的处理只在一批特定的元组失败?

    然后批次将被重放,导致成功先前处理的元组的再处理?例如,单词计数,其中每个元组包含一个单词但只有几个元组被成功计数?例如,如果有三个字叫,并且计数只显示2,这意味着一个元组在处理中失败?

  2. 在仅此tutorial,以前TxID添加存储。以前的交易ID是什么?

    例如,有三个批1,2,3,4。现在,批次#1,#2被执行并且批次#1被重放。然后txid将是2,因为最近处理的批次是批次#2,并且无法识别是否先前处理了批次1。 如果是这样,那么批次必须按顺序执行。这意味着直到批次#1成功完成批次#2不能执行。如果是这种情况,那么执行批处理的并行性在哪里?

  3. 如果仅仅是不适合的拓扑批量正确执行什么特殊功能?

    例如,我有两个功能,一个是坚持该消息到数据库,另一个是产生到卡夫卡队列。在这里,坚持数据库是成功的,但是由于一些节点故障(例如说),推向卡夫卡队列失败。然后,我只想要推送到该特定批次的卡夫卡队列的功能。三叉戟有办法吗?为此,我将不仅需要存储txid,还需要存储要为该txid处理的函数列表。它怎么能做到?

回答

0

,尽我的理解:

  1. 任何失败被认为是失败的批次,而这将通过管口重播。事务状态存储上次操作的值和事务标识。如果计数“man”失败,那么它的txid将小于当前的txid,并且应该将这批数据添加到存储的值中。否则,它可以忽略重播,因为它知道此批次的数据已经计入了该密钥。

  2. 国与国之间的交易均严格TxID添加顺序进行处理,而只能由有状态的组件。函数可以在即将到来的事务元组上执行。

  3. 这听起来像你想要的国家,而不是功能。该州将记住它已经完成批处理,并在重播时忽略它。

+0

为什么批处理在执行时会被重放? – user12458 2015-02-12 15:47:14

+0

它只会如果有一个例外处理批次重播。 – 2015-02-13 18:44:41

+0

什么,如果不执行只在拓扑结构的功能,然后是只调用该函数? – user12458 2015-02-14 10:02:05