009-時間不一樣步致使Sentinel監控異常

這是堅持技術寫做計劃(含翻譯)的第9篇,定個小目標999,每週最少2篇。php

背景描述

在公司測試服務器調試ahas(Sentinel商業版)時,發現頻發性無規律的出現Ahas控制檯【監控詳情】不顯示,甚至應用直接消失的問題。html

開始覺得是非Spring boot應用的問題(由於另一個產品線是spring boot的,測試沒問題),反覆翻看開源sentinel的wiki商業ahas的幫助文檔 ,而且結合Sentinel的日誌排查,毫無頭緒。可是換成開源的Sentinel Dashboard沒問題前端

解決步驟

問題緣由

上文提到的,Spring boot 能夠,是由於其部署在阿里雲ecs上,而阿里雲主機默認都有ntp同步git

而測試機連Sentinel 的Dashboard沒問題,換成ahas就有問題,是由於 Sentinel的client和dashboard,部署在同一臺服務器,不存在時間差問題。程序員

後來經過 @樂有 和 @雲寅 的幫助,定位到時鐘問題, 據 @樂有 介紹Sentinel容許的最大時間偏差是30s,而實驗中,測試機和北京時間偏差超過55s。github

windows 自動同步時間及修改同步頻率

若是同步出錯,能夠重啓一下 Windows Time 服務,再次同步。spring

可是過了半天后,時鐘又差1分鐘,因此須要調整一下NTP同步頻率
打開註冊表,找到 SpecialPollInterval (
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\TimeProviders\NtpClien\SpecialPollInterval )windows

發現默認值是 93a80 換成10進制是 604800 (7天*24小時*60分鐘*60秒=604800) ,改爲300(5*60)便可。服務器

參考資料

招聘小廣告

山東濟南的小夥伴歡迎投簡歷啊 加入咱們 , 一塊兒搞事情。前端工程師

長期招聘,Java程序員,大數據工程師,運維工程師,前端工程師。

相關文章
相關標籤/搜索