阿里云采用ECS云服务器NTP系统24小时“消化”闰秒
BAT科技网:北京时间2017年1月1日7时59分59秒后,全球同步多出1秒。
这事儿,对日常生活影响不大。
若处理不当,也可能引发危机。2012年闰秒发生时,包括LinkedIn在内不少国外知名网站都曾遇到故障。
为了协助用户更好的应对2017年元旦的闰秒,2016年的12月19日阿里云在官方网站发布公告,介绍闰秒可能影响的群体,以及应对方案。
阿里云提供的ECS云服务器中带有自己的NTP服务。所以,2017年1月1日,阿里云为客户提供了两个选择
为用户默默解决闰秒问题。这一服务,免费提供。
有些用户技术实力强希望亲手操作闰秒修改,也是可以的。只是,需要提前确认所使用的操作系统版本已不受闰秒影响,就可以自行更改NTP配置。
北京时间1月1日07:59:60,阿里云采用ECS云服务器NTP系统24小时“消化”闰秒的方案,实现了与标准UTC时间的完美重合。
所有云上用户,在毫无感知的情况下,静静度过了这多出来的1秒。
闰秒是什么鬼
地球自转被称为“世界时间”。不过,由于潮汐、地壳运动、冰川融化、地震等自然现象,地球的自转速度并非恒定,而是有时快,有时慢。
1967 年原子钟的出现意味着人类计时不用再依赖于地球的自转,时间的计量标准正式由天文学的宏观领域过渡到物理学的微观领域,也就是所谓的“原子时间”。
细心的科学家发现,两者之间存在微妙差异。于是,国际地球自转和参考系服务会(IERS)在差异超过 0.9秒时,会协调“世界时间”加上或减去 1 秒,消除这个误差。
这多出来的1秒,就是闰秒。
闰秒的加减法
基于实际观测,地球自转和参考系服务会提前六个月公布下一次闰秒的时间。
通常在该年度的 6 月 30 日或 12 月 31 日午夜进行。
由于北京时间与格林尼治时间相差8小时,中国是在2017年1月1日迎来7时59分60秒的特殊现象。
最近四次闰秒分别发生在 2005 年 12 月 31 日、2008 年 12 月 31 日和 2012 年 6 月 30 日,2015年7月1日。
从 1988 年这一做法被确立至今,一共发生过 26 次闰秒。2017 年 1 月 2 日这次是第 27 次闰秒。
将1秒拆分成86400份
这一次,阿里云技术团队提前2个月准备了2017元旦闰秒解决方案。
与很多公司采取在在7点59分59秒增加一秒钟的做法不同,阿里云ECS云服务器采用的方案是,将多出来的这一秒分平均分配到24小时(即86400秒)中,在闰秒时刻前12小时开始,闰秒后12小时结束。
24小时背后
理论上,能直接添加闰秒那也是极好的。
现实情况是大量的操作系统和应用软件处理不了闰秒,会导致各种异常。
最常见的情况是,如果服务器操作系统是Linux,在一些老的内核版本中存在BUG无法处理闰秒。导致收到闰秒通告消息可能会down机、插入闰秒可能会down机、打印闰秒日志也能引发down机。
即便不down机,在应用层,应用程序也可能无法处理这多出来的1s导致应用core掉。甚至可能影响到那些对时间敏感、事务性较强的应用,比如DB。
目前,国际大公司通用的解决方案是将这一秒分成许多份,再平均分配到一整天中。
日本有一家股票交易所将这一秒平均分成 7200 份,分摊到两个小时里,在分摊结束时间恢复同步时,刚好赶上开市。
Google则是在闰秒时刻前的24小时开始逐步调慢时间,理论上在闰秒时刻前,和标准UTC时间最大误差趋近于1秒。
阿里云采用的方案是在闰秒时刻前12小时才开始调慢。所以,最大误差为0.5秒。
延伸 · 阅读
- 2016-03-12阿里云车联物流解决方案示意图
- 2016-03-12阿里云智能硬件解决方案示意图
- 2016-03-16阿里云获全球第一张AV认证金牌(1)
- 2016-03-19阿里云发布极速CDN 6.0版 并首次提出云分发网络理念
- 2016-04-02BSI全球首个最新版 ISO/IEC 22301国际认证授予阿里云