分布式实时处理系统:原理、架构与实现
上QQ阅读APP看书,第一时间看更新

2.2 可靠的数据链路

我们先把眼光放短点,考虑一下如何实现两个相邻机器节点之间的可靠数据传输。因为原始的物理链路仅由传输介质和设备组成,数据在两个设备之间传输时随时可能因为外界原因而丢失或发生变化,直接使用物理链路无法确保数据在相邻节点之间的可靠传输。

为此,我们引入一个抽象的概念,叫做“数据链路”。数据链路是一条逻辑链路,我们假定两个机器节点只要使用了逻辑链路,就可以可靠地相互通信(当然,如果你把物理链路拆掉了,那我也就没办法了)。此外,我们希望可以保证一条物理链路上可以存在多条逻辑链路,也就是做到物理线路的复用。

为此,我们需要定义一个规范,所有的设备在发送和接收数据时都需要遵循这种规范,我们将这种规范称为“协议”。就像我们平时写信的时候,需要遵循一定的格式要求,只有保证格式正确,邮递员才能将信件送到正确的目的地。而协议正是如此,只有通信双方都遵守协议,才能进行正常的通信。因此我们的思路就是在物理链路的基础上,使用一系列的协议控制数据传输,确保相邻节点之间数据的可靠传输。