直到不久前,我还没有深入思考过甚至TCP的一个限制,这在众所周知的two-generals problem
中可见由于我偶然发现了这个问题,我开始想知道解决问题的可能性可能带来的后果。让我们考虑一下电子邮件协议。当A向B发送邮件时,A收到确认B确实收到其消息的确认。但是,B最终不知道A是否收到了确认。为什么这不重要?我试图理解为什么在日常应用中不可能达成共识并不是什么大不了的事情,我们确实担心这一点(也许我是在过度思考)。
我想到的另一种情况与ATM机有关。假设有人想要提取50美元,交易在银行总部接受,所以从余额中扣除了资金,但考虑到总部和ATM之间的连接此时失败了。钱是折扣但机器不提供金钱。这些情况是如何处理的?
也许我有点困惑,但这对我来说都是新的。看起来很奇怪,即使在人们之间的对话中,说最后一句话的人也无法知道对方是否听过这句话,因为最后一句话必须在没有确认的情况下离开。
答案 0 :(得分:1)
这是在应用程序到应用程序的基础上处理的,具体取决于业务逻辑: