自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

聊聊Ntp導(dǎo)致的時(shí)鐘回?fù)?/h1>

運(yùn)維 服務(wù)器運(yùn)維
時(shí)鐘回?fù)艿那闆r也會(huì)影響到采用雪花算法這種對(duì)時(shí)間戳要求單調(diào)的算法。很明顯的,時(shí)間戳回調(diào)后,極易形成重復(fù)的序列號(hào)。

[[401812]]

時(shí)鐘回?fù)?/h3>

我們的服務(wù)器時(shí)間校準(zhǔn)一般是通過(guò)ntp進(jìn)程去校準(zhǔn)的。但由于校準(zhǔn)這個(gè)動(dòng)作,會(huì)導(dǎo)致時(shí)鐘跳躍變化的現(xiàn)象。而這種情況里面,往往回?fù)茏钅芤鹞覀兊睦_,回?fù)苋缦滤?

會(huì)引起什么問(wèn)題

準(zhǔn)點(diǎn)調(diào)度任務(wù)的誤判

假設(shè)有一個(gè)任務(wù)每天0點(diǎn)時(shí)候獲取昨天所有的數(shù)據(jù)進(jìn)行對(duì)賬,正常情況和時(shí)鐘回?fù)艿那闆r如下圖所示:

針對(duì)這種情況,筆者讓業(yè)務(wù)調(diào)整了調(diào)度觸發(fā)時(shí)間,不要精確在準(zhǔn)點(diǎn),以避免此問(wèn)題。

唯一序列號(hào)(雪花算法)

時(shí)鐘回?fù)艿那闆r也會(huì)影響到采用雪花算法這種對(duì)時(shí)間戳要求單調(diào)的算法。很明顯的,時(shí)間戳回調(diào)后,極易形成重復(fù)的序列號(hào)。

對(duì)于這種情況我們采用預(yù)留序列號(hào)段,在檢測(cè)到這種情況后,將預(yù)留序列號(hào)分配出去,進(jìn)而解決這一問(wèn)題。

ntpd的時(shí)鐘回?fù)?跳變)條件

事實(shí)上,ntpd本身還有另一種方案,即通過(guò)調(diào)整滴答頻率來(lái)讓我們的本地時(shí)鐘慢慢的和精確時(shí)間match。但是,如果本機(jī)時(shí)間和精確時(shí)間(從ntpd服務(wù)器獲取的時(shí)間)相差過(guò)大(> stepout threshold 128ms),則ntpd會(huì)直接采用跳躍變化的方式修正時(shí)間。代碼如下所示:

  1. ntp_loopfilter.c 
  2.  
  3. double  clock_max = CLOCK_MAX; // .128也就是128ms 
  4.  
  5. int local_lock(...) { 
  6.     // 差距>128ms之后,選擇跳變 
  7.     if (fabs(fp_offset) > clock_max && clock_max > 0) { 
  8.         ...... 
  9.         // 修正simclock.local_time 
  10.         step_systime(fp_offset); 
  11.         ...... 
  12.     } 

而在我們的線上,在/var/log/message中經(jīng)常能見到時(shí)鐘跳變的輸出。

-x選項(xiàng)

我們采用-x選項(xiàng),可以將stepout threshold(128ms)提升到600s。這樣,不是太極端的情況,應(yīng)該都不會(huì)觸發(fā)到時(shí)鐘回?fù)?。但這會(huì)導(dǎo)致長(zhǎng)時(shí)間時(shí)間戳不準(zhǔn)確的問(wèn)題(畢竟,調(diào)整滴答頻率來(lái)慢慢match比較慢)。

stepback stepback

在高版本的ntpd中,還可以有stepback選項(xiàng),如果設(shè)置為0的話,則不會(huì)回?fù)堋?/p>

本文轉(zhuǎn)載自微信公眾號(hào)「解Bug之路」,作者解Bug之路。轉(zhuǎn)載本文請(qǐng)聯(lián)系解Bug之路公眾號(hào)。

 

責(zé)任編輯:武曉燕 來(lái)源: 解Bug之路
相關(guān)推薦

2024-11-19 15:55:49

2015-08-17 18:14:37

容聯(lián)

2019-06-10 15:50:54

LinuxNTP命令

2022-07-17 06:50:10

微軟Windows 11

2024-08-09 13:39:27

2019-05-07 10:00:03

ChronyNTPLinux

2010-07-29 11:02:25

VPN連接

2020-05-06 22:07:53

UbuntuLinux操作系統(tǒng)

2022-01-27 08:53:31

LinuxNTP同步

2023-04-26 00:06:22

服務(wù)器死循環(huán)報(bào)錯(cuò)

2020-11-26 12:40:26

NTSNTP系統(tǒng)運(yùn)維

2011-08-11 18:38:05

Oracle回滾段

2024-05-27 08:25:05

2020-11-23 07:00:38

代碼美顏 格式化

2023-11-02 09:25:42

springSystem

2015-05-25 09:13:31

NTP網(wǎng)絡(luò)時(shí)間協(xié)議NTP服務(wù)器

2021-01-14 08:58:12

Synchronize鎖操作

2024-08-15 09:41:18

2010-07-12 10:05:40

ibmdwLinux

2022-06-30 08:58:09

時(shí)鐘輪RPC框架
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)