2025上半年,最新 AI实践都在这!20+ 应用案例,任听一场议题就值回票价 了解详情
写点什么

Meta 如何使用精确时间协议处理闰秒

作者:Craig Risi

  • 2025-04-25
    北京
  • 本文字数:843 字

    阅读完需:约 3 分钟

Meta 如何使用精确时间协议处理闰秒

许多系统的协调、日志记录、安全和分布式操作都依赖于精确一致的计时。对于金融交易、数据库复制和计划任务等时间敏感的流程,即使是一秒的误差,也会导致故障。对于需要严格同步的系统,如分布式数据库、遥测管道或事件驱动架构,闰秒处理错误会导致数据丢失、重复或不一致。因此,在依赖高精度时间的环境中,准确地管理闰秒可确保系统的可靠性和一致性。


闰秒是对协调世界时(UTC)的周期性调整,为的是应对地球自转的不规则性,确保原子时与天文时保持同步。虽然对于精确计时,这些调整是必要的,但对于需要高精度同步的系统(如使用精确时间协议(PTP)的系统)来说,这些调整可能会带来挑战。PTP 的设计目的是使网络内的时钟同步达到亚微秒级精度,因此,闰秒的处理尤为重要。


通常,网络时间协议(NTP)系统采用传统的闰秒处理方法,如抹平法,即将多出的一秒分摊到一段时间内,以尽量减少中断。然而,由于对精度的要求更高,所以在 PTP 系统中应用类似技术是有问题的。即使是最小的调整也会导致同步错误,违反 PTP 所要维持的严格精度标准。


为了解决这个问题,Meta 开发了一种算法方法,并将其集成到 PTP 服务中。该方法通过 fbclock 库实现了自抹平技术。Fbclock 库会返回一个代表最早和最近纳秒时间戳的时间值元组,从而提供一个“不确定性窗口”(WOU)。在闰秒事件中,该库通过每 62.5 微秒移动一纳秒来调整这些值。这种无状态、可重现的方法使得系统能够自动处理闰秒,而无需人工干预。


这种自抹平策略具有多种优势,包括可以无缝地处理闰秒以及保持 PTP 系统所需的高精度。不过,有得必有失。例如,在与使用不同抹平方法(如 NTP 的二次抹平)的系统集成时,可能会出现差异,从而可能导致在抹平期间出现同步问题。


在使用 PTP 的高精度环境中,闰秒管理需要创新性的解决方案才能保持同步精度。从 Meta 的算法方法中,我们可以看到如何使用量身定制的策略来有效地应对闰秒带来的挑战,确保时间敏感系统的可靠性和精确性。


原文链接:

https://www.infoq.com/news/2025/04/meta-precision-time-leap-seconds/

2025-04-25 08:005850

评论

发布
暂无评论

QT 实现生成压缩包

小肉球

qt 7月月更

Hive说我变了,Spark说不你没变

怀瑾握瑜的嘉与嘉

spark 7月月更

C 语言入门(二)

逝缘~

c 7月月更

Node.js的非阻塞I/O

是乃德也是Ned

Node 7月月更

Spring 核心概念

说故事的五公子

Java spring

分布式事务(Seata)原理 详解篇,建议收藏

牧小农

电商系统微服务拆分(架构实战营 模块六作业)

Gor

Android Wear开发步骤

芝麻粒儿

android 手机 7月月更

LeetCode-125. 验证回文串(java)

bug菌

Leet Code 7月月更

基于物联网设计的铂电阻气体测温仪(华为云IOT)

DS小龙哥

7月月更

《看完就懂系列》谈谈数据埋点的原理与实现

南极一块修炼千年的大冰块

7月月更

Mac M1 投屏软件scrcpy

IT蜗壳-Tango

7月月更

架构实战营|模块6

KDA

#架构实战营

Python绘制精美可视化数据分析图表(一)-Matplotlib

迷彩

Python 可视化 matplotlib 7月月更

TCP拥塞控制详解 | 5. 回避算法

俞凡

算法 网络 TCP拥塞控制

架构实战营模块六作业

融冰

双目立体匹配之匹配代价计算

秃头小苏

7月月更 双目立体匹配

Python 入门指南之错误和异常

海拥(haiyong.site)

7月月更

【C 语言】进阶指针 Three

謓泽

7月月更

【玩转 RT-Thread】线程管理原理

攻城狮杰森

7月月更 RT-Thread

源码阅读

ES_her0

7月月更

SkyWalking原理浅析

技术小生

APM Skywalking 性能监控 7月月更

DDD实战(11):冲刺1代码TDD实现之道

深清秋

DDD 软件架构设计 生鲜电商系统 7月月更

iOS中的继承

NewBoy

前端 移动端 iOS 知识体系 7月月更

C++|登录后通知各个显示页面,观察者模式

中国好公民st

c++ 7月月更

【愚公系列】2022年7月 Go教学课程 008-数据类型之整型

愚公搬代码

7月月更

java零基础入门-Number & Math 类

喵手

Java 7月月更

拆分电商系统为微服务

Pengfei

Cgroup cpu,cpuacct子系统

总想做点什么

聊聊消息中心的设计与实现逻辑

Java 架构

图解网络:什么是 DNS 域名系统?

wljslmz

网络协议 DNS 网络技术 7月月更 域名系统

Meta 如何使用精确时间协议处理闰秒_后端_InfoQ精选文章