Lamport Clock算法

        Lamport Clock 是一种表达逻辑时间的逻辑时钟(logical clock),能够计算得到历史事件的时间偏序关系。

        假设 P0进程是分布式集群中心节点中的监控者,用于统一管理分布式系统中事件的顺序。其他进程在发送消息之前和接受事件消息之后都需要告知 P0 进程,告知的过程是异步的。

        如图上图,P1 需要发生消息给 P2。P1在发送消息之前先告知 PO,之后再发送消息给 P2,P2在收到消息后立即告知 PO。将过程中的消息交互分别标识为“事件 A”、“事件 B”和“事件 C”,则对于不同进程的事件序列如下所示。

                对于 P0 进程,A->C;

                对于 P1 进程,A->B;

                对于 P2 进程,B->C;

        由偏序关系具有传导性,所以整个事件的顺序应该就是 A -> B -> C。

        但在实际过程中,往往伴随着网络等延迟,这时候事件消息的发送与接收并不能保证顺序性。如下图所示,可能就会出现 PO 进程接收到事件 C 消息早于事件 A,

        此时对于 P0 进程来说就是 C->A;

                对于 P1 进程,A->B;

                对于 P2 进程,B->C;

        由 P1 和 P2 得出 A->C,但对于 P0 来说 C->A,互相矛盾了。

        

        Lamport Clock存在二个假设和五条规则.

        结合这三个假设和五条规则,则可以解决上面因网络延迟造成消息乱序的场景

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/161675.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

持续进化,快速转录,Faster-Whisper对视频进行双语字幕转录实践(Python3.10)

Faster-Whisper是Whisper开源后的第三方进化版本,它对原始的 Whisper 模型结构进行了改进和优化。这包括减少模型的层数、减少参数量、简化模型结构等,从而减少了计算量和内存消耗,提高了推理速度,与此同时,Faster-Whi…

包装印刷行业万界星空科技云MES解决方案

印刷业的机械化程度在国内制造行业内算是比较高的,不算是劳动密集型企业。如书本的装订、包装的模切、烫金、糊盒等都已经有了全自动设备。印刷厂除了部分手工必须采用人工外,大部分都可以采用机器,也就意味着可以由少量工人生产出大量产品。…

【油猴脚本】学习笔记

目录 新建用户脚本模板源注释 测试代码获取图标 Tampermonkey v4.19.0 原教程:手写油猴脚本,几分钟学会新技能——王子周棋洛   Tampermonkey首页   面向 Web 开发者的文档   Greasy Fork 新建用户脚本 打开【管理面板】 点击【】,即…

python之range 函数

文章目录 range() 函数的语法参数说明range() 返回值使用示例:示例 1:简单使用示例 2:设置起始值、结束值和步长 注意事项: range() 是一个内置的 Python 函数,通常用于创建一个表示一系列数字的不可变的序列&#xff…

单链表的建立(头插法、尾插法)(数据结构与算法)

如果要把很多个数据元素存到一个单链表中,如何操作? 1.初始化一个单链表 2. 每次取一个数据元素,插入到表尾/表头 1. 尾插法建立单链表 尾插法建立的单链表元素顺序与输入数据集合的顺序相同,即按照输入数据的顺序排列。 使用尾插…

Java连接Redis并操作Redis中的常见数据类型

目录 一. Java连接Redis 1. 导入依赖 2. 建立连接 二. Java操作Redis的常见数据类型存储 1. Redis字符串(String) 2. Redis哈希(Hash) 3. Redis列表(List) 4. Redis集合(Set) 一. Java连接Redis 1. 导入依赖 pom依赖…

爬虫项目-爬取股吧(东方财富)评论

1.最近帮别人爬取了东方财富股吧的帖子和评论,网址如下:http://mguba.eastmoney.com/mguba/list/zssh000300 2.爬取字段如下所示: 3.爬虫的大致思路如下:客户要求爬取评论数大于5的帖子,首先获取帖子链接&#xff0c…

以太网【FPGA】

1物理: 2接线: 信号名 信号类型 对应引脚 备注 sys_clk Input B5 系统晶振输入时钟,频率 50MHz sys_rst_n Input E8 系统复位信号,低有效 eth_rxc Input E17 PHY 输入时钟,频率 125MHz eth_rx_ctl Inpu…

arduino - NUCLEO-H723ZG - test

文章目录 arduino - NUCLEO-H723ZG - test概述笔记物理串口软串口备注END arduino - NUCLEO-H723ZG - test 概述 准备向NUCLEO-H723ZG上移植西门子飞达控制的Arduino程序. 先确认一下知识点和效果. 笔记 物理串口 NUCLEO-H723ZG在STM32 Arduino 库中, 只提供了一个串口 Se…

Canvas 梦幻树生长动画

canvas可以制作出非常炫酷的动画&#xff0c;以下是一个梦幻树的示例。 效果图 源代码 <!DOCTYPE> <html> <head> <meta http-equiv"Content-Type" content"text/html; charsetutf-8" /> <title>梦幻数生长动画</title&…

【51单片机】蜂鸣器(学习笔记)

一、蜂鸣器 1、蜂鸣器介绍 鸣器是一种将电信号转换为声音信号的器件&#xff0c;常用来产生设备的按键音、报警音等提示信号 有源蜂鸣器&#xff1a;内部自带振荡源&#xff0c;将正负极接上直流电压即可持续发声&#xff0c;频率固定无源蜂鸣器&#xff1a;内部不带振荡源&…

【漏洞复现】Apache_HTTP_2.4.50_路径穿越漏洞(CVE-2021-42013)

感谢互联网提供分享知识与智慧&#xff0c;在法治的社会里&#xff0c;请遵守有关法律法规 文章目录 1.1、漏洞描述1.2、漏洞等级1.3、影响版本1.4、漏洞复现1、基础环境2、漏洞扫描3、漏洞验证方式一 curl方式二 bp抓捕 1.5、修复建议 说明内容漏洞编号CVE-2021-42013漏洞名称…