File tree Expand file tree Collapse file tree 4 files changed +180
-31
lines changed Expand file tree Collapse file tree 4 files changed +180
-31
lines changed Original file line number Diff line number Diff line change 278
278
279
279
单调钟适用于测量持续时间(时间间隔),例如超时或服务的响应时间:Linux上的` clock_gettime(CLOCK_MONOTONIC) ` ,和Java中的` System.nanoTime() ` 都是单调时钟。这个名字来源于他们保证总是前进的事实(而时钟可以及时跳回)。
280
280
281
+ 你可以在某个时间点检查单调钟的值,做一些事情,且稍后再次检查它。这两个值之间的差异告诉你两次检查之间经过了多长时间。但单调钟的绝对值是毫无意义的:它可能是计算机启动以来的纳秒数,或类似的任意值。特别是比较来自两台不同计算机的单调钟的值是没有意义的,因为它们并不是一回事。
282
+
283
+ 在具有多个CPU插槽的服务器上,每个CPU可能有一个单独的计时器,但不一定与其他CPU同步。操作系统会补偿所有的差异,并尝试向应用线程表现出单调钟的样子,即使这些线程被调度到不同的CPU上。当然,明智的做法是不要太把这种单调性保证当回事【40】。
284
+
285
+ 如果NTP协议检测到计算机的本地石英钟比NTP服务器要更快或更慢,则可以调整单调钟向前走的频率(这称为** 偏移(skewing)** 时钟)。默认情况下,NTP允许时钟速率增加或减慢最高至0.05%,但NTP不能使单调时钟向前或向后跳转。单调时钟的分辨率通常相当好:在大多数系统中,它们能在几微秒或更短的时间内测量时间间隔。
286
+
287
+ 在分布式系统中,使用单调钟测量** 经过时间(elapsed time)** (比如超时)通常很好,因为它不假定不同节点的时钟之间存在任何同步,并且对测量的轻微不准确性不敏感。
288
+
281
289
### 时钟同步与准确性
282
290
283
291
单调钟不需要同步,但是时钟需要根据NTP服务器或其他外部时间源来设置才能有用。不幸的是,我们获取时钟的方法并不像你所希望的那样可靠或准确——硬件时钟和NTP可能会变幻莫测。举几个例子:
Original file line number Diff line number Diff line change 2
2
3
3
## 关于作者
4
4
5
- Martin Kleppmann是英国康桥大学分布式系统的研究员 。此前他曾在互联网公司担任过软件工程师和企业家,其中包括LinkedIn和Rapportive,负责大规模数据基础架构。在这个过程中,他以艰难的方式学习了一些东西,他希望这本书能够让你避免重蹈覆辙。
5
+ ** Martin Kleppmann ** 是英国剑桥大学分布式系统的研究员 。此前他曾在互联网公司担任过软件工程师和企业家,其中包括LinkedIn和Rapportive,负责大规模数据基础架构。在这个过程中,他以艰难的方式学习了一些东西,他希望这本书能够让你避免重蹈覆辙。
6
6
7
7
Martin是一位常规会议演讲者,博主和开源贡献者。他认为,每个人都应该有深刻的技术理念,深层次的理解能帮助我们开发出更好的软件。
8
8
@@ -22,12 +22,14 @@ Alibaba+-Finplus 架构师/全栈工程师 (2015 ~ 2017)
22
22
23
23
## 后记
24
24
25
- 《设计数据密集型应用》封面上的动物是** 印度野猪(Sus scrofa cristatus)** ,它是在印度,缅甸, 尼泊尔, 斯里兰卡和泰国发现的一种野猪的亚种。它们与欧洲公猪不同,它们具有较高的背部刷毛,没有羊毛底毛,以及更大,更直的头骨 。
25
+ 《设计数据密集型应用》封面上的动物是** 印度野猪(Sus scrofa cristatus)** ,它是在印度、缅甸、 尼泊尔、 斯里兰卡和泰国发现的一种野猪的亚种。与欧洲野猪不同,它们有更高的背部鬃毛,没有体表绒毛,以及更大更直的头骨 。
26
26
27
- 印度的野猪有一头灰色或黑色的头发,脊椎上有僵硬的硬毛 。雄性有突出的犬齿(称为T),用来与对手战斗或抵御掠食者。雄性比雌性大,但这些物种平均肩高33 -35英寸,体重200-300磅。他们的天敌包括熊, 老虎和各种大型猫科动物。
27
+ 印度的野猪有一头灰色或黑色的头发,脊背上有短而硬的毛 。雄性有突出的犬齿(称为T),用来与对手战斗或抵御掠食者。雄性比雌性大,这些物种平均肩高33 -35英寸,体重200-300磅。他们的天敌包括熊、 老虎和各种大型猫科动物。
28
28
29
- 这些动物夜行且杂食 —— 它们吃各种各样的东西,包括根,昆虫,腐肉,坚果, 浆果和小动物。野猪也被称为通过垃圾和作物田地,造成大量的破坏,并赢得农民的仇恨。他们需要每天吃4 ,000 ~ 4,500卡路里。公猪有着发达的嗅觉,这有助于它们寻找地下的植物材料和挖掘动物。但是它们的视力很差 。
29
+ 这些动物夜行且杂食—— 它们吃各种各样的东西,包括根、昆虫、腐肉、坚果、 浆果和小动物。野猪经常因为破坏农作物的根被人们所熟知,他们造成大量的破坏,并被农民所敌视。他们每天需要摄入4 ,000 ~ 4,500卡路里的能量。野猪有发达的嗅觉,这有助于寻找地下植物和挖掘动物。然而,它们的视力很差 。
30
30
31
- 野猪在人类文化中一直具有重要意义。在印度教传说中,野猪是毗湿奴神的化身。在古希腊的丧葬纪念碑中,它是一个勇敢失败者的象征(与胜利的狮子相反)。由于它的侵略,它被描绘在斯堪的纳维亚,日耳曼和盎格鲁 ~ 撒克逊战士的盔甲和武器上 。在中国十二生肖中,它象征着决心和急躁。
31
+ 野猪在人类文化中一直具有重要意义。在印度教传说中,野猪是毗湿奴神的化身。在古希腊的丧葬纪念碑中,它是一个勇敢失败者的象征(与胜利的狮子相反)。由于它的侵略,它被描绘在斯堪的纳维亚、日耳曼和盎格鲁撒克逊战士的盔甲和武器上 。在中国十二生肖中,它象征着决心和急躁。
32
32
33
- O'Reilly封面上的许多动物都受到威胁;所有这些对世界都很重要。要了解有关如何提供帮助的更多信息,请访问animals.oreilly.com。封面图片来自Shaw's Zoology。封面字体是URW Typewriter和Guardian Sans。文字字体是Adobe Minion Pro;图中的字体是Adobe Myriad Pro;标题字体是Adobe Myriad Condensed;代码字体是Dalton Maag的Ubuntu Mono。
33
+ O'Reilly封面上的许多动物都受到威胁,这些动物对世界都很重要。要了解有关如何提供帮助的更多信息,请访问animals.oreilly.com。
34
+
35
+ 封面图片来自Shaw's Zoology。封面字体是URW Typewriter和Guardian Sans。文字字体是Adobe Minion Pro;图中的字体是Adobe Myriad Pro;标题字体是Adobe Myriad Condensed;代码字体是Dalton Maag的Ubuntu Mono。
You can’t perform that action at this time.
0 commit comments