分布式系统学习(一)逻辑时钟与向量时钟

本文介绍了分布式系统中为解决时间同步问题而提出的逻辑时钟和向量时钟概念。逻辑时钟确保因果关系的正确性,但不保证绝对时序;向量时钟能表达并发事件,用于冲突检测。尽管物理时钟在控制系统时间误差的情况下也可解决问题,但在分布式系统中,逻辑时钟和向量时钟提供了更全面的事件顺序解决方案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目的:

由于分布式系统中各个机器之间的系统时间同步差异,导致无法用物理时钟准确衡量事件的先后顺序。因此,提出了逻辑时钟这一概念,用来定义分布式系统中所有事件的发生顺序

背景

偏序与全序关系,这在大学的线性代数课程中有相关概念。简单的讲,对于一个数字集合,如果能够定义两两之间的先后关系,则该集合为全序关系。如果该集合中分为多个子集,子集内部两两有先后关系,而子集之间没有先后关系,则该集合为偏序关系。

逻辑时钟

逻辑时钟原理图
如上图所示,根据逻辑时钟的原理,我们可以定义这些事件集的一个偏序关系。在这个偏序集中,存在因果关系的事件顺序是正确的。如果要得到所有事件的一个全序关系(逻辑时钟时间戳序号相等的事件间先后关系),我们可以自己定义一个规则,比如进程号小的排序在前,这样就可以得到全部事件的一个全序关系了。
注意:Lamport逻辑时钟只保证因果关系(偏序)的正确性,不保证绝对时序的正确性。

逻辑时钟解决资源竞争问题

前提:对于任意的两个进程Pi和Pj,它们之间传递的消息是按照发送顺序被接收到的, 并且所有的消息最终都会被接收到
具体实现流程不细讲,大概是每个进程在申请资源前都会通知所有进程,从而有一个全局顺序,按这个顺序去获取资源。2PC

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值