引入时间概念的分布式系统浅谈

引入时间概念的分布式系统浅谈

Clock-SI(Snapshot Isolation)

对于分布式系统来说,时间在分布式系统中的使命很明确:利用时间来描述分布式系统中的因果顺序,为了简化分布式系统的实现,很多时间,我们还需要利用时间给分布式系统中的并发顺序给予唯一、确定的先后顺序。Clock-SI(Snapshot Isolation)利用了物理时钟一直往前走的假设,等到确保物理时间向前走了正确的位置,从而来保证快照的时间顺序,PostgreSQL是实现了Clock-SI的。

clock skew

对于时钟偏差,可以尽可能的保证多台机器时钟的同步,比如定期对时钟进行校准,保证时钟一致;避免在高网络延迟的环境中使用硬件时钟,导致时钟偏差的进一步扩大;使用多个时钟源对时钟进行校准,尽可能使时钟一致;或者推出中心化的时钟作为唯一时钟校准的标准等。

去共识的TSO

TSO最初是为全局选取一个中心化的逻辑时钟作为唯一参考系,各个节点与该中心化逻辑时钟交互取号。这样的问题是会引入额外的一跳取号的网络开销,另外还存在单点故障问题,即中心授时的服务器本身一旦不可用,时间戳服务随即中断。而对于预取号的优化,双主问题的影响等,引入共识协议的TSO无疑是损耗巨大的,这个时候就需要可以去共识的TSO。可以增加缓存技术来处理TSO的单点故障问题。

性质的提升

在时钟技术选型中,对于时钟精度的提升是明显的,其实也主要是为了解决分布式系统时钟的问题。另外,高稳定性的时钟可以在各种环境条件下保持稳定的工作状态,减小时钟漂移和抖动。高可靠性的时钟可以在各种条件下保持稳定的工作状态,减小故障率和维修成本。

相关推荐

  1. 引入时间概念分布式系统

    2024-07-12 10:46:04       22 阅读
  2. 时间序列预测中时间

    2024-07-12 10:46:04       93 阅读
  3. chrome引擎

    2024-07-12 10:46:04       27 阅读
  4. 分布式微服务

    2024-07-12 10:46:04       31 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-12 10:46:04       66 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-12 10:46:04       70 阅读
  3. 在Django里面运行非项目文件

    2024-07-12 10:46:04       57 阅读
  4. Python语言-面向对象

    2024-07-12 10:46:04       68 阅读

热门阅读

  1. Vue3框架搭建4:配置说明-eslint配置

    2024-07-12 10:46:04       21 阅读
  2. linux 查看 io使用率iotop

    2024-07-12 10:46:04       24 阅读
  3. 【番外】Springboot集成推荐配置及十问RocketMQ

    2024-07-12 10:46:04       27 阅读
  4. 软设之职责链模式

    2024-07-12 10:46:04       20 阅读
  5. vue中ref()与reactive(的区别)

    2024-07-12 10:46:04       19 阅读
  6. Flask发布一个及时止损(止盈)服务(二)

    2024-07-12 10:46:04       20 阅读
  7. NoSQL之Redis数据库配置与优化

    2024-07-12 10:46:04       27 阅读