我在阅读有关弗林克仅一次功能here的文档。我不太明白一些句子:
这是说,如果承诺没有成功,最终发生数据丢失。我把它解释为:该承诺能成功,但它只是发生在持续失败,因为某些原因,每次重新启动。在这种情况下,弗林克只能放弃属于此提交数据。所以,如果数据丢失是不可接受的,应用程序应该重新启动,直至提交成功?
我不太明白这里,无论是。这是什么通知一下,这是不是上面提到的?并执行所述的操作指的是沉操作?此外,由于我解释它,如果确认成功,只有所谓的通知失败,它会导致恢复到COMMITED前的状态后的数据复制?
如果这个问题本身是无效的,请大家指正。任何帮助表示赞赏。
弗林克的端至端仅一次机制是基于两个阶段提交(2PC)等协议。该协议被用来协调,要么没有或程序的所有汇提交输出到外部系统。
如果有宿任务说:“我准备提交”(预提交),它给人的保证,它能够执行提交。水槽任务然后等待从其中如果所有片上的任务是准备提交同意只发送协调收到执行通知。如果收到通知之前,申请未能通过担保也必须持有。在这种情况下,接收任务必须能够恢复开放(还未提交)的事务,并收到一个通知时,执行它。在多重故障的情况下,接收器必须不断地尝试,直到提交成功。然而,必须只执行一次交易,即使是在一个(或多个)故障的情况下。
这是什么意思
经过一个成功的预提交,提交必须保证最终获得成功
如果水槽的任务是不能够最终承诺,它预先提交的数据,该数据将丢失。