不同计算机上的时钟未必会给出相同的时间?
为什么会这样啊?
为什么会这样啊?
|
geligaoliNov 21, 2021
1
如果系统允许几个毫秒的误差,用 ntpdate 就可以了。要是想达到微妙的误差,就得靠硬件了。
|
|
2
因为根据相对论,每个参照系的时间都不同,而不同计算机就是不同参照系,自然不可能拥有相同的时间。
|
|
MarkLazyNov 21, 2021
3
所有的度量衡都有最小误差啊,时间也一样,只要控制在一定范围内不就没问题吗
|
|
rrfengNov 21, 2021
4
不同计算机上的时钟必然会给出不同的时间。
|
|
ipwxNov 21, 2021
5
因为晶振是有误差的。
除非你用原子振荡计时。 |
|
luoqengNov 21, 2021
6
只有逻辑时钟 Lamport
|
|
luoqengNov 21, 2021
7
Google 的分布式数据库库用原子时钟保证误差
|
|
luoqengNov 21, 2021
8
|
|
sagaxuNov 21, 2021
9
同一台机器上,时间没有误差吗?
|
|
R4rvZ6agNVWr56V0Nov 21, 2021
10
原子钟的标准时间是个参考系,同步到其他设备上碍于物理距离 / 时间发生器(例如晶振)工艺,无法保持绝对意义上的同步。
所以分布式系统为了保持同步动作,就需要额外的考量,增加其他的处理逻辑了 |
|
MoYi123Nov 21, 2021
11
这就是 CAP 理论中的 AP 系统.
|
|
hallDrawnelNov 21, 2021
12
计算机自己的晶振时钟偏差其实可以很大,为了尽可能做到精确,IDC 可以部署原子钟同步时间,做到尽可能的一致。
|
|
whevetherNov 21, 2021
13
最好的方法就是统一使用网关上的时间
|
|
sutraNov 22, 2021
14
|
|
chinvoNov 22, 2021
15
可以考虑用 PTP
|
|
BugesNov 22, 2021 via Android
16
就算是单机,要保证 monotonic time 也不是一件容易的事情。
|
|
pythoneeNov 22, 2021
18
我在想另外一个问题,分布式系统可不可以做到不依赖时间呀
|
|
CRVVNov 22, 2021
19
分布式可以有全局时间,比如 GPS 。从卫星发射它自己的时间,然后在地面接收到不同卫星发射的不同时间,用时间差可以算出来距离差,然后解出自己的坐标。
整套系统的关键就是那个全局一致的时间。 当然成本比较高,别的系统值不值得用就是另一回事了。 |
|
2i2Re2PLMaDnghLNov 22, 2021
23
不可能存在完美的计时工具,因为时计即熵计。理论上完美的时计需要消耗全部的能量转化成等量的纯熵
|
|
PDdavonNov 22, 2021
24
每台计算机只能根据晶振来确定从开机后到当前的时间,但是晶振本身也是受到温度影响的。而又由于网络延迟的不确定性,也不能完全相信其他节点传递过来的时间,只能是从几个信息源综合判定当前可能的时间。可以看下《数据密集型应用设计》 http://ddia.vonng.com/#/ch8?id=%e4%b8%8d%e5%8f%af%e9%9d%a0%e7%9a%84%e6%97%b6%e9%92%9f
|
|
zeni123Nov 23, 2021 via iPhone
25
|