首页 > 其他分享 >时间、顺序与一致性

时间、顺序与一致性

时间:2023-10-11 17:01:48浏览次数:27  
标签:顺序 NTP 进程 时间 一致性 节点 向量 时钟

一、背景

  分布式架构下,需要协调不同节点之间的先来后到,但不同节点又没有统一承认的时间标准,于是创造了网络时间协议(NTP)试图来解决不同节点之间的时间标准,但是NTP本身表现并不如人意,所以又构造出了逻辑时钟,最后在逻辑时钟的基础上改进为了向量时钟

二、时间标准分类

1. 网络时间协议(NTP)

  一种分层的时间同步体系结构,其中有一个或多个时间服务器作为参考,其他计算机系统通过NTP协议与这些时间服务器进行通信,以校准和调整自己的系统时间。

  NTP面临的问题:

     节点间时间不同步

     硬件时钟漂移

     线程可能休眠

     操作系统休眠

     硬件休眠

2. 逻辑时钟

  它不是真实的物理时钟,而是一种用于确定事件发生顺序的抽象时钟。

  逻辑时钟通常由一个计数器组成,每个事件都会更新计数器的值,通过比较不同节点上的逻辑时钟值,可以确定事件的先后顺序。

  逻辑时钟的两种主要的类型:Lamport时钟和向量时钟。

  2.1 Lamport时钟

    每个进程在发送消息时都会将自己的时钟值附加到消息上,接收到消息的进程会根据接收到的消息和自己的时钟值来更新自己的时钟,通过比较不同进程的时钟值来确定事件的先后关系。

  2.2 向量时钟

    每个进程都维护一个向量,该向量的长度等于进程的数量,当进程发送消息时,它会将自己的向量值附加到消息上,接收到消息的进程会根据接收到的消息和自己的向量值来更新自己的向量,通过比较不同进程的向量值,可以确定事件的先后顺序。

三、解决时间问题的意义

  通过衡量时间的工具,解决顺序问题。

  整个分布式的理论基础就是如何协商不同节点的一致性问题,而顺序则是一致性理论的基本概念。

 

 

标签:顺序,NTP,进程,时间,一致性,节点,向量,时钟
From: https://www.cnblogs.com/sTruth/p/17757634.html

相关文章

  • PMP项目成本管理和项目时间管理里的EV、SV、CV、SPI都是什么意思?
    在项目管理中,特别是在项目成本管理和项目时间管理中,有一系列的度量标准和公式,这些度量标准和公式用于评估项目的表现。在PMP(项目管理专业认证)中,以下是您提到的这些术语的定义:EV(EarnedValue,挣值)描述:EV是项目在某个特定时间点完成的工作的价值。公式:EV=......
  • PMP里管理储备时间和应急储备时间的区别
    管理储备:是为管理控制的目的而特别留出的项目预算,用来应对项目范围中不可预见的工作。管理储备用来应对会影响项目的“未知-未知”风险,它不包括在进度基准中。一般意义上的项目预算即项目完工预算,只包含基于WBS的成本估算和应急储备,并不包含管理储备。应急储备:应急储备是包含在......
  • 解决前端传递Date类型时自动转换为国际时间的问题
    本质原因是前端对象中使用了Data类型的属性字段,在向后端传递时会自动将JSON对象转换为JSON字符串进行传递Date类型的属性在进行转换时会调用自身的toJSON方法,转换为国际时间的字符串表达形式letdate=newDate();console.log(date);console.log(JSON.stringify(date));导......
  • R语言非线性动态回归模型ARIMAX、随机、确定性趋势时间序列预测个人消费和收入、用电
    全文链接:https://tecdat.cn/?p=33838原文出处:拓端数据部落公众号传统时间序列模型允许包含过去观察到的系列信息,但不允许客户包含其他可能相关的信息。例如,假期的影响、竞争对手的活动、法律变化、整体经济或其他外部变量可能解释了某些历史变动,并且可能导致更准确的预测。另一......
  • Python随机波动率(SV)模型对标普500指数时间序列波动性预测|附代码数据
    原文链接:http://tecdat.cn/?p=22546 原文出处:拓端数据部落公众号 最近我们被客户要求撰写关于随机波动率(SV)模型的研究报告,包括一些图形和统计输出。资产价格具有随时间变化的波动性(逐日收益率的方差)。在某些时期,收益率是高度变化的,而在其他时期则非常平稳。随机波动率模型......
  • Day17 装饰介绍_装饰器的视线思路_语法糖的使用_装饰器模版_时间装饰器_登录装饰器
    1.储备知识_args_kwargs_名称空间作用域_函数对象: 2.储备知识_函数的嵌套定义_闭包函数: 3.储备知识_传参的方式一_传参的方式二: 4.装饰器的介绍: 5.装饰器实现思路,解决方案一: 6.装饰器实现思路,解决方案二: 7.装饰器实现思路,解决方案三: 8.装饰器实现思路,解决方......
  • 渐进时间复杂度
         ......
  • (allure报告定制)allure.step 增加时间相关的功能
    步骤:0.引入相应的库importallureimporttime1.创建一个@allure.step装饰器@allure.step装饰器用于创建一个测试步骤,并将其添加到测试报告中。在下面的示例中,我们创建了一个名为add_time的装饰器,用于记录当前时间。defadd_time(step_name):@allure.step(step_name)......
  • curl测试HTTP请求各阶段时间
    #使用CURL检测Clinet侧发起的HTTP请求各阶段时间,命令参考:curl-o/dev/null-s-wcurl-o/dev/null-s-wtime_namelookup:"\t"%{time_namelookup}"\n"time_connect:"\t\t"%{time_connect}"\n"time_appconnect:"\t"%{time_appconn......
  • 顺序容器(vector、deque、list、forward_list、array 、string)
    一、顺序容器概述   顺序容器提供了控制元素存储和访问顺序的能力,顺序与元素加入容器时的位置相对应。1、常见的顺序容器类型:vector:可变大小的数组。支持快速随机访问,在尾部之外的位置插入或者删除元素可能很慢。deque:双端队列。支持快速随机访问。在头尾位置插入/删除速度很......