大厂们再也无法忍受闰秒带来的一堆 bug 了。
现在,谷歌 Meta 微软亚马逊等一众科技巨头发起了一项倡议:废除闰秒!
闰秒这玩意,说白了就是通过给 " 世界标准时间 " 加(或减)1 秒,让它更接近 " 太阳时 "。
" 世界标准时间 "(UTC)与原子钟测量的精确时间同步," 太阳时 " 根据地球自转测量得出,但地球自转并不稳定。
例如,两者相差超过 0.9 秒时,就在 23 点 59 分 59 秒与 00 点 00 分 00 秒之间,插入一个原本不存在的 "23 点 59 分 60 秒 ",来将时间调慢一秒钟。
然鹅,就是这个看似有点用的闰秒,把一众程序员愁坏了。
凭空少一秒、或冒出一个 " 第 60 秒 ",就得出动一众人调整时间(如暂时关闭 NTP 等)、修改程序,尽可能降低闰秒带来的影响。对此 Meta 表示:
闰秒造成的破坏,比它带来的用处大多了。
这群大厂还找来了两家权威机构,即美国国家标准与技术研究院(NIST)和国际计量局(BIPM),与他们达成了一致意见。
虽然闰秒似乎离我们略远,不过这些年来,它确实给计算机行业惹了不少麻烦。
闰秒于 1972 年被引入,迄今为止已经增加了 27 个闰秒。
每一次增加闰秒,都会引起不少公司的计算机或是应用程序出现问题。
例如,在互联网发展得如火如荼的 2012 年,闰秒就带来了一波 " 潮水般 " 的影响。
闰秒在当年 6 月 30 号出现后,国外社区 Reddit、浏览器 Mozilla、领英和点评网站 Yelp 的服务器全部出现了问题,此外依赖计时器的机票预订服务 Amadeus 也发生了故障。
但闰秒造成的影响,并没有在这之后消失,毕竟总有新的 bug 出现(手动狗头)。
2017 年,Cloudflare 也遇上了闰秒故障,导致一众客户用不了相关服务。尽管程序员们已经提前写好应对程序,然而在实际运行时,还是出了问题。
所以,究竟应该如何消除闰秒带来的影响?
当前最常用的方法是 "平摊法"。
以谷歌为例,程序员们会将多出来的一秒钟分割成很多个小时间段(如几分之一秒),然后,在不影响程序运行的情况下悄悄加入到时间中。
这样,当闰秒来临时,程序实际上已经平安无事地度过了这一秒钟。
对于 Meta 程序员来说,采取的也是相似的做法,把这个闰秒在时间表上悄无声息地 " 抹掉 "。
但无论如何,只要下一个闰秒还会出现,大厂们就还得继续面临闰秒带来的影响,花费额外的精力去 " 消除 " 它。
包括谷歌、亚马逊、Meta 和微软等大厂在内,都感觉闰秒的出现是利大于弊,Meta 还专门写了篇文章,呼吁废除闰秒。
当然,想废除闰秒的也不止这几个大厂。
早在 2015 年的时候,国际电信联盟就在 WRC 上讨论过是否要保留闰秒的事情。
只是报告结果还没出来,预计会等到2023年。
对于废除闰秒这事儿,有网友调侃:
脸书的开发们实在太害怕闰秒了,他们觉得推动计时法改变是比修代码更简单的事情。
但此前也有网友提到,其实不止 IT 行业,工业上也会受到闰秒的影响。
你受到过闰秒带来的影响吗?
原文地址:http://www.myzaker.com/article/62df86088e9f090de01e1fb0