閏秒正式宣佈取消,網友:沒什麼能讓Linus本人同谷歌微軟達成一致,除了它_風聞
量子位-量子位官方账号-2022-11-23 14:08
詹士 發自 凹非寺
量子位 | 公眾號 QbitAI
決定了!這一秒,程序員們不用再續了!
國際計量大會已正式宣佈:廢除閏秒。

該消息一經官宣,相當一部分人喜大普奔。

畢竟,各家互聯網大廠和其背後的程序員們,苦閏秒久矣:就在今年7月,谷歌Meta微軟亞馬遜就曾聯手倡議廢除閏秒。
外界就有調侃説:
沒什麼事能讓Meta、谷歌、微軟等巨頭同暴躁的Linux之父Linus Torvalds達成一致了,除了閏秒。

難以招架的「閏秒」
閏秒之所以存在,源於人類使用的標準時間計量工具原子鐘的一天為86400秒,該數字與實際地球自轉一天時間並不完全一致,隨時間累積,誤差就會慢慢增大。
為保證我們使用的時間與真實地球自轉保持同步,1972年開始,人們引入閏秒。
即:
在一年中6月30日或12月31日,以增減一秒方式,進行誤差校準。如要加一秒,就在當日23點59分,加一個23點60分。若要減一秒,則在當日23點58分,直接跳到00點00分。
時至今日,這種矯正已進行了27次,均為增秒操作,最近一次,發生在2016年至17年跨年夜。

閏秒調整確實讓人類生活節奏與地球保持了同步校準,但給科技行業帶來麻煩不小。
一份2016年12月的公告中,阿里雲就明確提醒,相關調整可能對客户應用或業務造成一定影響,希望客户閲讀相關調整方案,做好風險評估:

目前,科技公司湊合着弄的主流解決方案是——將多出的一秒分成很多個小段,在不影響運行情況下,悄悄插入時間中,將多出來的一秒「抹平」。
谷歌Meta等大廠均在使用此類方法。

當然,也有人選擇直接暫停NTP(網絡時間協議)服務一秒鐘,以此額外增加一秒。
無論用什麼方法解決,終歸來説,計時程序在系統中牽一髮動全身。
每次調整,各家公司都出動大批技術運維來調整時間(如暫時關閉NTP等)、修改程序,避免當中出現bug影響業務。
這當中,出現事故也着實不意外。
2012年Reddit一次系統崩潰就因閏秒而起,時長超半小時。一組運行開源Linux操作系統的機器未能正確處理增添的閏秒,導致一連串服務器停止運行。
Linux之父,Linus Torvalds曾對媒體提起該話題,也表示出對閏秒的無奈:它真的很煩人,且難以在常規環境下測試,就要交付給用户。

閏秒也造成過Cloudflare的服務器崩潰。
在2017年新年,多餘的1秒鐘讓公司的DNS代理軟件崩潰並切換到負值,引發了「軟件恐慌」。
儘管當時程序員們已提前寫好應對程序,但實際運行時,還是出了問題。

不止一兩家,瀏覽器Mozilla、領英、點評網站Yelp、澳洲航空均因閏秒出現過問題。
由於閏秒實在令程序員們腦殼痛,今年7月谷歌、微軟、Meta、亞馬遜聯合倡議廢除它。
還找來美國國家標準與技術研究院(NIST)和國際計量局(BIPM),幫他們背書,一同證明「廢除」的合理性。

取消,但沒立即取消
根據目前披露信息,該項決議計劃2035年生效,且維持到2135年。其間,計量學家們也將試圖找到更好解決方案。
參會的決策者們補充道,即便百年間以原子鐘計量的UTC時間與地球自轉的差距超過1分鐘,大眾體感上也沒什麼差別。
但不是所有國家都贊成這回的決定,比如俄羅斯。
他們的衞星定位系統GLONASS也需要進行相應調整和重新設計,因此,他們希望閏秒取消時間推遲到2040年。

且該決議還需與國際電信聯盟(ITU)達成一致,商議時間預計在2023年底。
最後得提一嘴的是,取消閏秒對碼農雖利好,但落地時間為2035年。
也就是説,當取消閏秒時,連00年的碼農都到35了。
目前大廠程序員們仍需繼續跟閏秒battle下去了。

參考鏈接:
[1]https://www.nature.com/articles/d41586-022-03783-5
[2]https://arstechnica.com/science/2022/11/network-crashing-leap-seconds-to-be-abandoned-by-2035-for-at-least-a-century/
[3]https://mp.weixin.qq.com/s/T1LlPXKniH4AAv6dn6-AXQ