๋ฐ์ํ
๐ก ๋ณธ ๋ฌธ์๋ 'IT ์์คํ ์์ ์๊ฐ์ ํํ: ์ค์ด'์ ๋ํด ์ ๋ฆฌํด๋์ ๊ธ์ ๋๋ค.
ํ๋ก๊ทธ๋๋ฐ์ ํ์ง ์๋๋ผ๋ ์ค์ด๋ ๋ง์ด ๋ค์ด๋ดค์ ๊ฐ๋ ์ ๋๋ค. ์ด๋ ์ ํด์ ธ์๋ ๊ฒ์ด ์๋ ์ง๊ตฌ ์์ ์๋ ๋๋ฌธ์ ๋ฐ์ํ๋ ๋ถ๊ท์น์ ์ธ ๋ณด์ ์ธ๋ฐ ์ด๋ก ์ธํด UTC์ ๋๊ธฐํ๋๋ ๋ ๊ฑฐ์ ์ฅ๋น ๋ฑ ๋ณด์ ์ผ๋ก ์ธํ ๋๋ณด๋ค ์ค์ด ๋ง์ ์ํํ ๊ดํ์ ๋๋ค. ์ด๋ฌํ ์ค์ด์ ๋ํด ์์ธํ ์ ๋ฆฌํ์์ผ๋ ์ฐธ๊ณ ํ์๊ธฐ ๋ฐ๋๋๋ค.
1. ์ค์ด(Leap Second)๋?
- ์ค์ด๋ ์ง๊ตฌ ์์ ์๋ ๋๋ฌธ์ ์๊ธฐ๋ UT1(์ธ๊ณ์) ๊ณผ UTC์ ์ฐจ์ด๋ฅผ ๋ณด์ ํ๊ธฐ ์ํด ๋์ ๋จ
- ์ด๋ UTC๋ฅผ ์ฒ์ฒด ๊ด์ธก ๋ฑ ๋ค์ํ ๋ชฉ์ ์ผ๋ก ์ฌ์ฉํ ์ ์๊ฒ ํด์ฃผ๊ธฐ ๋๋ฌธ์ ๊ณผํ์์ ์ฒ๋ฌธํ์์๊ฒ ์ฃผ๋ก ๋์์ด ๋จ
- UTC๋ฅผ ์์ ํ์ง ์์ผ๋ฉด ์ฒ๋ฌธ ๊ด์ธก์ ์ํด UTC์ ๋๊ธฐํ ๋๋ ๋ ๊ฑฐ์ ์ฅ๋น ๋ฐ ์ํํธ์จ์ด๋ฅผ ๋ณด์ ํด์ผํจ
- ์ค์ด๊ฐ ์ ์๋ ํ ํ์ฌ๊น์ง, UTC๋ ์ด 27๋ฒ ์์ ๋์์
- ์ค์ด๋ 1972๋ ๋์ ๊ณผํ๊ณ ๋ฐ ํต์ ์ ๊ณ๋ฅผ ๋ชจ๋ ๋ง์กฑ์ํค๋ ์์ฉํ ๋งํ ์๋ฃจ์ ์ด์์ง๋ง, ํ์ฌ UTC๋ ๋์งํธ ์ดํ๋ฆฌ์ผ์ด์ ๋ฐ ๊ณผํ์ ๋ชจ๋์๊ฒ ์ ํ๋ฐ์ง ๋ชปํ๋ฉฐ, ์ด๋ค์ TAI(International Atomic Time, ๊ตญ์ ์์์)๋ UT1์ ์ ํํจ
- Meta ๋ ํฅํ ์ค์ด ๋์ ์ ์ค๋จํ๊ณ ํ์ฌ ์์ค์ธ 27์ ์ ์งํ๊ธฐ ์ํ ์ ๊ณ์ ๋ ธ๋ ฅ์ ์ง์ํ๊ณ ์์
- ์๋ก์ด ์ค์ด๋ฅผ ๋์ ํ๋ ๊ฒ์ ๋๋ณด๋ค ์ค์ด ๋ง์ ์ํํ ๊ดํ์ด๋ฉฐ, ์ด๋ฅผ ๋์ฒดํ ์๋ก์ด ๊ธฐ์ ์ ๋์ ํด์ผ ํ ๋๋ผ๊ณ ์๊ฐํจ
2. ๋ฏฟ์๋ ์ค์ด์ '๋ฐฐ์ ' ๊ฐ๋ฅ์ฑ
- ์ง๊ตฌ ์์ ์ ๋ถ๊ท์น์ฑ์ ๊ธฐ์ฌํ๋ ๋ง์ ์์ธ ์ค ํ๋๋ ์ธ๊ณ์์ ๊ฐ์ฅ ๋์ ์ฐ๋ค์ ๋ง๋ ์ค์ด ๊ณ์ํด์ ๋ น๊ณ ๋ค์ ์ผ์ด ๋ถ๋ ๊ฒ
- ์ง๊ธ๊น์ง๋ ์์ ์ค์ด๋ง ์์๊ธฐ์ ๋จ์ํ 23:59:59 ์ 00:00:00 ์ฌ์ด์ 23:59:60 ์ด๋ผ๋ ์ถ๊ฐ ์ด๋ง ๋ฃ์ผ๋ฉด ๋์์ง๋ง,
์ง๊ตฌ์ ์์ ํจํด์ด ๋ฐ๋๋ฉด์ ๋ฏธ๋์ ์ด๋ ์์ ์์๋ ์์ ์ค์ด((23:59:58 ๋ค์์ 00:00:00)๊ฐ ๋ฐ์ํ ๊ฐ๋ฅ์ฑ์ด ๋์ - ์ด ์์ ์ค์ด๊ฐ ์ฃผ๋ ์ํฅ์ ๋ํด์๋ ๋๊ท๋ชจ๋ก ํ ์คํธ ๋ ์ ์ด ์์ผ๋ฉฐ, ํ์ด๋จธ๋ ์ค์ผ์ค๋ฌ์ ์์กดํ๋ ์ํํธ์จ์ด์๋ ์น๋ช ์ ์ธ ์ํฅ์ ๋ฏธ์น ์ ์์
3. ์ค์ด๊ฐ ์๊ธฐ๋๋ผ๋ ์์ํ ๋์ ํ๋ค๋ฉด? 'Smearing'
- ๋ ์ต๊ทผ์๋, ๋จ์ํ ์๊ณ๋ฅผ ๋ฆ์ถ๊ฑฐ๋ ๋น ๋ฅด๊ฒ ํ์ฌ ์ค์ด๋ฅผ ์์ํ '์ ํ๋(Smear)'๊ฒ ๊ดํ์ด ๋์์
- ์ด ์์ ์ ์ํํ๋ ๋ณดํธ์ ์ธ ๋ฐฉ๋ฒ์ ์์ง๋ง, Meta ์์๋ ์ค์ด๋ฅผ 00:00:00 ๋ถํฐ 17์๊ฐ์ ๊ฑธ์ณ์ Smearํจ
- ์๋ฐฑ๋์ NTP ์๋ฒ๋ค์ด ๊ฐ์ด Stratum 2์์ ์งํํ๋ฏ๋ก, ๋๋ฌด ํฌ๊ฒ Smearing ํ๋ฉด NTP ํด๋ผ์ด์ธํธ๋ค์ด ์ค๋ฅ๊ฐ ์๋ค๊ณ ํ๋จํด์ Quorum ์์ ๋นผ๋ฒ๋ฆฌ๊ฒ ๋๊ณ ์ด๊ฑด Outage๊ฐ ๋ ๊ฐ๋ฅ์ฑ์ด ์์
- 00:00:00 ์์ ์์ํ๋ ๊ฒ๋ ํ์คํ ๋๊ฒ์ ์๋์ด์, ์ฌ๋ฌ ์ต์
์ด ์์ ์ ์์
→ ์๋ฅผ ๋ค์ด, ํน์ ํ์ฌ๋ 12:00:00 UTC ์์ ์์ํด์ 24์๊ฐ๋์ ์งํํ ์๋ ์์ - ๋ํ Smearing ์์ฒด์๋ ๋ค๋ฅธ ์๊ณ ๋ฆฌ๋ฌ๋ค๋ ์์ : ์ปค๋ ์ค์ด ๋ณด์ , Linear Smearing, Quadratic(Meta๊ฐ ์ฌ์ฉํ๋ ๊ฒ)
- ์ด ๋ชจ๋ ์ผ๋ค์ Meta ์ ๊ณ ์ ํ Time Appliance๋ฅผ ๋น๋กฏํด์ ์ค์ํ ๋ณํ ๋ก์ง์ด ํ์ํจ
- ์ด Smearing ๊ธฐ๊ฐ ๋์ NTP ์๋ฒ๊ฐ ์ฌ์์ ๋๋ฉด "Old" ์ "New" ์๊ฐ๋ค์ด ํด๋ผ์ด์ธํธ์๊ฒ ๊ฐ๋ฉด์ Outage๊ฐ ์๊ธธ์ ์์
4. ์ด์ฐ๋์๋ ์ค์ด์ '์ ์ํฅ'
- ์ค์ด์ ๊ทธ ์คํ์ ์ ์ ๊ณ ์ ์ฒด์ ๋ฌธ์ ๋ฅผ ์ผ์ผํด
- Outage๊ฐ ๋ฐ์ํ๋ ๊ฐ์ฅ ์ฌ์ด ๋ฐฉ๋ฒ์ ์๊ฐ์ด ํญ์ ์์ผ๋ก๋ง ๊ฐ๋ค๊ณ ์๊ฐํ๊ณ ์ฝ๋ฉํ๋ ๊ฒ
- start := time.Now()
// do something
spent := time.Now().Sub(start)
- start := time.Now()
- ์์ spent ๊ฐ ์ด๋ป๊ฒ ์ฌ์ฉ๋๋์ง์ ๋ฐ๋ผ ์ค์ด๊ธฐ๊ฐ์ค์ ์์๊ฐ ๋ฐ์ํ ์๋ ์์
- Reddit์ 2012๋ ์ ์ค์ด ๋๋ฌธ์ ๋๊ท๋ชจ ์ค๋จ์ด ๋ฐ์ํ๊ณ , ์ฌ์ดํธ๊ฐ 30~40๋ถ๋์ ์ ๊ทผ์ด ๋ถ๊ฐ๋ฅ ํ์
- Cloudflare๋ 2017๋ ์ ํ์ฌ์ ๊ณต์ฉ DNS์ ๋ฏธ์น๋ ์ํฅ์ ๋ํด์ ์์ธํ ๊ธ์ ๊ฒ์ ํ์
5. ์ค์ด์ '๋ฏธ๋'
- ์ค์ด ์ด๋ฒคํธ๋ ์ ๊ณ ์ ๋ฐ์ ๊ฑธ์ณ ๋ฌธ์ ๋ฅผ ์ผ์ผํค๊ณ ๊ณ์ํด์ ๋ง์ ์ํ์ ๋ดํฌํ๊ณ ์์
- ํ์ ์์ ์ฐ๋ฆฌ๋ ์ค์ด๊ฐ ๋์ ๋ ๋ ๋ง๋ค ๋ฌธ์ ์ ๋ถ๋ชํ
- ๊ทธ๋ฆฌ๊ณ ๋งค์ฐ ๋๋ฌธ ์ฌ๊ฑด์ด๊ธฐ ๋๋ฌธ์ ๋ฐ์ํ ๋๋ง๋ค ์ปค๋ฎค๋ํฐ๋ค์ด ํฉํํ ๋จ
- ๋ชจ๋ ์ฐ์ ๋ถ์ผ์์ ์๊ณ ์ ๋ฐ๋์ ๋ํ ์์๊ฐ ์ฆ๊ฐํ๋ฉด์, ์ค์ด๋ ์ด์ ๋๋ณด๋ค ์ค์ด ๋ง๊ณ , Outage๋ฅผ ์ด๋
- Meta์ ์์ง๋์ด๋ค์ ํฅํ ์ค์ด ๋์ ์ ์ค๋จํ๊ณ ๋ค์ ์ฒ๋ ๋์ ์ถฉ๋ถํ ๊ฒ์ผ๋ก ์๊ฐํ๋ ํ์ฌ ์์ค์ธ 27์ ์ ์งํ๊ธฐ ์ํด ํฐ ์ง์์ ํ๊ณ ์์
์ฐธ๊ณ
- It’s time to leave the leap second in the past: https://engineering.fb.com/2022/07/25/production-engineering/its-time-to-leave-the-leap-second-in-the-past/
๋ฐ์ํ
'Study: Software(SW) > SW: Etc...' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[IDE] VSCode ํ์ผ ํ์ฅ์ ์ธ์ ์ค์ ๋ฐฉ๋ฒ (0) | 2024.03.27 |
---|---|
[๋ฌธ์] ํ๊ธ ์์ ๋จ์ถํค ์ ๋ฆฌ (2) | 2022.09.22 |
[SW] IT ์์คํ ์์ ์๊ฐ์ ํํ: epoch time, Unix/POSIX time, time stamp... (0) | 2022.08.17 |
[JAVA] Oracle JAVA ์ญ์ ํ Apache Open JDK ์ค์น (0) | 2022.02.10 |