一次基於etcd的分佈式鎖自動延時失敗問題的排查

今天在測試基於etcd的分佈式鎖過程當中,在測試獲取鎖後,釋放以前超出TTL時長的狀況下自動延長TTL這部分功能,在延長指定key的TTL時老是返回404錯誤信息,在對目標KEY更新TTL時目標KEY已不存在。分佈式

 

最終問題排查爲ETCD集羣3個節點之間的系統時間不一致,由於TTL延長是在KEY建立後單獨一個監聽線程中進行,在TTL過半以後會更新TTL,所以可能出現更新TTL以前,因爲集羣中時間超前的節點將目標KEY刪除,致使更新TTL時找不到目標KEY的錯誤。測試

 

同步集羣全部節點系統時間後問題排除:線程

ntpdate pool.ntp.org
相關文章
相關標籤/搜索