4

分布式没有全局时间

 2 years ago
source link: https://www.v2ex.com/t/816940
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

V2EX  ›  程序员

分布式没有全局时间

  kikione · 15 小时 51 分钟前 · 1245 次点击
不同计算机上的时钟未必会给出相同的时间?
为什么会这样啊?
16 条回复    2021-11-22 01:58:59 +08:00

geligaoli

geligaoli   13 小时 34 分钟前

如果系统允许几个毫秒的误差,用 ntpdate 就可以了。要是想达到微妙的误差,就得靠硬件了。

cmdOptionKana

cmdOptionKana   12 小时 44 分钟前   ❤️ 1

因为根据相对论,每个参照系的时间都不同,而不同计算机就是不同参照系,自然不可能拥有相同的时间。

qaqLjj

qaqLjj   11 小时 16 分钟前

所有的度量衡都有最小误差啊,时间也一样,只要控制在一定范围内不就没问题吗

rrfeng

rrfeng   9 小时 47 分钟前

不同计算机上的时钟必然会给出不同的时间。

ipwx

ipwx   9 小时 25 分钟前

因为晶振是有误差的。

除非你用原子振荡计时。

luoqeng

luoqeng   9 小时 5 分钟前

只有逻辑时钟 Lamport

luoqeng

luoqeng   9 小时 4 分钟前

Google 的分布式数据库库用原子时钟保证误差

sagaxu

sagaxu   8 小时 28 分钟前

同一台机器上,时间没有误差吗?

GeekGao

GeekGao   8 小时 21 分钟前

原子钟的标准时间是个参考系,同步到其他设备上碍于物理距离 / 时间发生器(例如晶振)工艺,无法保持绝对意义上的同步。
所以分布式系统为了保持同步动作,就需要额外的考量,增加其他的处理逻辑了

MoYi123

MoYi123   8 小时 20 分钟前

这就是 CAP 理论中的 AP 系统.

hallDrawnel

hallDrawnel   8 小时 2 分钟前

计算机自己的晶振时钟偏差其实可以很大,为了尽可能做到精确,IDC 可以部署原子钟同步时间,做到尽可能的一致。

whevether

whevether   7 小时 36 分钟前

最好的方法就是统一使用网关上的时间

chinvo

chinvo   6 小时 48 分钟前

可以考虑用 PTP

Buges

Buges   5 小时 30 分钟前 via Android

就算是单机,要保证 monotonic time 也不是一件容易的事情。

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK