詹士 發自 凹非寺
量子位 | 公衆号 QbitAI
決定了!這一秒,程式員們不用再續了!
國際計量大會已正式宣布:廢除閏秒。
該消息一經官宣,相當一部分人喜大普奔。
畢竟,各家網際網路大廠和其背後的程式員們,苦閏秒久矣:就在今年7月,谷歌Meta微軟亞馬遜就曾聯手倡議廢除閏秒。
外界就有調侃說:
沒什麼事能讓Meta、谷歌、微軟等巨頭同暴躁的Linux之父Linus Torvalds達成一緻了,除了閏秒。
難以招架的「閏秒」
閏秒之是以存在,源于人類使用的标準時間計量工具原子鐘的一天為86400秒,該數字與實際地球自轉一天時間并不完全一緻,随時間累積,誤差就會慢慢增大。
為保證我們使用的時間與真實地球自轉保持同步,1972年開始,人們引入閏秒。
即:
在一年中6月30日或12月31日,以增減一秒方式,進行誤差校準。如要加一秒,就在當日23點59分59秒,加一個23點59分60秒。若要減一秒,則在當日23點59分58秒,直接跳到00點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
— 完 —
量子位 QbitAI · 頭條号簽約
關注我們,第一時間獲知前沿科技動态