侧边栏壁纸
博主头像
ProSayJ 博主等级

Talk is cheap. Show me the code.

  • 累计撰写 58 篇文章
  • 累计创建 23 个标签
  • 累计收到 0 条评论

目 录CONTENT

文章目录

什么是“闰秒”(Leap Second)?

YangJian
2025-07-11 / 0 评论 / 0 点赞 / 5 阅读 / 0 字

✅ 一、什么是“闰秒”(Leap Second)?

闰秒是指为了保持“世界协调时(UTC)”与“地球自转时间(天文时 UT1)”的同步而人为添加或减少的一秒钟

地球自转并不完美,是略有波动的,而 UTC 是原子钟时间(精确且均匀),两者逐渐会产生偏差。

📌 举例:

某年 6 月 30 日晚上 23:59:59 后,会出现:

23:59:60

然后才是:

00:00:00(第二天)

这一秒就是闰秒


✅ 二、为什么要引入闰秒?

由于地球自转速度不稳定,略微变慢,所以每隔几年,“天文时”就会比 UTC 落后 1 秒。为了保持协调一致,通过人为“加一秒”来对齐

  • 不加闰秒 → 地球时间和 UTC 逐渐偏离

  • 加闰秒 → 保持时间系统对齐


✅ 三、闰秒的危害 / 为什么它是“互联网炸弹”?


闰秒虽然听起来只是“多了一秒”,但在计算机系统中非常危险,因为:

问题类型

说明

❗ 系统时间跳变

很多操作系统或服务无法识别 23:59:60 这个合法时间,会报错或崩溃

❗ 多台服务器时间不一致

分布式系统无法协调,造成主从漂移、数据不一致

❗ 数据库或缓存时间戳错乱

依赖严格时间戳排序的系统(如 Kafka、MySQL)会出错

❗ 死循环 / 崩溃

Java 中 LocalDateTime 可能抛出异常,NTP 服务挂死等

❗ 负载飙升

2012 年一次闰秒事件导致 Linux 系统大量进程 CPU 飙升,Google、RedHat 均受影响


✅ 四、知名事故案例:

  • 2012 年闰秒,RedHat Linux 触发死循环,影响 StackOverflow、Mozilla、LinkedIn

  • 2015 年闰秒导致 Google Cloud Engine 网络中断

  • Cloudflare、Amazon 等都报告过 NTP/闰秒触发的稳定性故障


✅ 五、现在还会加闰秒吗?(最重要)

✅ 官方宣布:

即将废除闰秒!

2022 年 11 月,国际计量大会(CGPM)投票通过:

自 2035 年起,全球将“暂停使用闰秒”,最早在 2135 年前不再添加闰秒。



✅ 原因

  • 给互联网、大型金融系统、通信导航带来重大风险

  • 调整方式将改为:每几百年通过更平滑的方式调整 UTC


✅ 六、现在还会加闰秒吗?当前状态

时间点

是否加闰秒

说明

2023 年

❌ 不加

最近一次加是在 2016 年

2024~2035

可能视情况而定

但技术社区已广泛反对,趋势是不再添加

2035 起

✅ 官方暂停闰秒


✅ 七、大厂是如何应对闰秒的?

厂商

应对方式

Google

Leap Smear(闰秒抹平):将多出的一秒在前后几小时慢慢加进去

Amazon

也采用 smearing 模式

Linux

补丁支持跳秒机制

金融系统

自建 NTP,严格内网时间同步


✅ 总结一句话:


闰秒是为了保持 UTC 和天文时一致而人为添加的一秒,但对计算机系统影响极大,目前已经被全球逐步废弃,从 2035 年起正式停止使用闰秒

0

评论区