閏秒正式宣布取消,網(wǎng)友:沒什么能讓Linus本人同谷歌微軟達(dá)成一致,除了它
本文經(jīng)AI新媒體量子位(公眾號ID:QbitAI)授權(quán)轉(zhuǎn)載,轉(zhuǎn)載請聯(lián)系出處。
決定了!這一秒,程序員們不用再續(xù)了!
國際計量大會已正式宣布:廢除閏秒。
該消息一經(jīng)官宣,相當(dāng)一部分人喜大普奔。
畢竟,各家互聯(lián)網(wǎng)大廠和其背后的程序員們,苦閏秒久矣:就在今年7月,谷歌Meta微軟亞馬遜就曾聯(lián)手倡議廢除閏秒。
外界就有調(diào)侃說:
沒什么事能讓Meta、谷歌、微軟等巨頭同暴躁的Linux之父Linus Torvalds達(dá)成一致了,除了閏秒。
難以招架的「閏秒」
閏秒之所以存在,源于人類使用的標(biāo)準(zhǔn)時間計量工具原子鐘的一天為86400秒,該數(shù)字與實際地球自轉(zhuǎn)一天時間并不完全一致,隨時間累積,誤差就會慢慢增大。
為保證我們使用的時間與真實地球自轉(zhuǎn)保持同步,1972年開始,人們引入閏秒。
即:
在一年中6月30日或12月31日,以增減一秒方式,進行誤差校準(zhǔn)。如要加一秒,就在當(dāng)日23點59分59秒,加一個23點59分60秒。若要減一秒,則在當(dāng)日23點59分58秒,直接跳到00點00分00秒。
時至今日,這種矯正已進行了27次,均為增秒操作,最近一次,發(fā)生在2016年至17年跨年夜。
閏秒調(diào)整確實讓人類生活節(jié)奏與地球保持了同步校準(zhǔn),但給科技行業(yè)帶來麻煩不小。
一份2016年12月的公告中,阿里云就明確提醒,相關(guān)調(diào)整可能對客戶應(yīng)用或業(yè)務(wù)造成一定影響,希望客戶閱讀相關(guān)調(diào)整方案,做好風(fēng)險評估:
目前,科技公司湊合著弄的主流解決方案是——將多出的一秒分成很多個小段,在不影響運行情況下,悄悄插入時間中,將多出來的一秒「抹平」。
谷歌Meta等大廠均在使用此類方法。
當(dāng)然,也有人選擇直接暫停NTP(網(wǎng)絡(luò)時間協(xié)議)服務(wù)一秒鐘,以此額外增加一秒。
無論用什么方法解決,終歸來說,計時程序在系統(tǒng)中牽一發(fā)動全身。
每次調(diào)整,各家公司都出動大批技術(shù)運維來調(diào)整時間(如暫時關(guān)閉NTP等)、修改程序,避免當(dāng)中出現(xiàn)bug影響業(yè)務(wù)。
這當(dāng)中,出現(xiàn)事故也著實不意外。
2012年Reddit一次系統(tǒng)崩潰就因閏秒而起,時長超半小時。一組運行開源Linux操作系統(tǒng)的機器未能正確處理增添的閏秒,導(dǎo)致一連串服務(wù)器停止運行。
Linux之父,Linus Torvalds曾對媒體提起該話題,也表示出對閏秒的無奈:它真的很煩人,且難以在常規(guī)環(huán)境下測試,就要交付給用戶。
閏秒也造成過Cloudflare的服務(wù)器崩潰。
在2017年新年,多余的1秒鐘讓公司的DNS代理軟件崩潰并切換到負(fù)值,引發(fā)了「軟件恐慌」。
盡管當(dāng)時程序員們已提前寫好應(yīng)對程序,但實際運行時,還是出了問題。
不止一兩家,瀏覽器Mozilla、領(lǐng)英、點評網(wǎng)站Yelp、澳洲航空均因閏秒出現(xiàn)過問題。
由于閏秒實在令程序員們腦殼痛,今年7月谷歌、微軟、Meta、亞馬遜聯(lián)合倡議廢除它。
還找來美國國家標(biāo)準(zhǔn)與技術(shù)研究院(NIST)和國際計量局(BIPM),幫他們背書,一同證明「廢除」的合理性。
取消,但沒立即取消
根據(jù)目前披露信息,該項決議計劃2035年生效,且維持到2135年。其間,計量學(xué)家們也將試圖找到更好解決方案。
參會的決策者們補充道,即便百年間以原子鐘計量的UTC時間與地球自轉(zhuǎn)的差距超過1分鐘,大眾體感上也沒什么差別。
但不是所有國家都贊成這回的決定,比如俄羅斯。
他們的定位系統(tǒng)GLONASS也需要進行相應(yīng)調(diào)整和重新設(shè)計,因此,他們希望閏秒取消時間推遲到2040年。
且該決議還需與國際電信聯(lián)盟(ITU)達(dá)成一致,商議時間預(yù)計在2023年底。
最后得提一嘴的是,取消閏秒對碼農(nóng)雖利好,但落地時間為2035年。
也就是說,當(dāng)取消閏秒時,連00年的碼農(nóng)都到35了。
目前大廠程序員們?nèi)孕枥^續(xù)跟閏秒battle下去了。