如何保證系統的實際狀態和統計狀態一致?

2021-05-22 22:15:24 字數 483 閱讀 5056

最近除錯的系統牽涉到多個區,而且乙個區內有多個角色、部分角色有多個節點,如果只是這樣,用樹狀結構即可統一管理,但偏偏每個節點允許多區共用。複雜的關係導致系統的狀態維護起來很麻煩,而且時刻要面臨的乙個問題是:如何保證系統的實際狀態和統計狀態一致?

之前一直做單區測試,晚上加上多區以後,其中乙個角色core掉,資料庫中也多了幾條記錄——和實際狀態不一致了。除錯core檔案、檢查日誌均無思路,無奈之下手動將狀態調成一致、重啟core掉的角色並重複之前的操作希望問題重現。很可惜,系統執行良好。

於是推測是系統內部狀態累積的問題。重啟後角色所維護的狀態重新初始化,和實際狀態一致,所以問題沒有重現。

晚上和kevin溝通了一下今天的進度,他提到了幾點:

1. 系統中加入檢查點。各個層面:**級別、模組級別、節點級別的,檢查系統的一致性;

2. 定期的清理不一致的狀態。狀態比對,定時重啟;

3. 我們不要零bug系統,要得是可用的系統。

Android如何獲取系統高度 標題欄和狀態列高度

getwindow getdecorview getwindowvisibledisplayframe rect 取得整個檢視部分,注意,如果你要設定標題樣式,這個必須出現在標題樣式之後,否則會出錯 int top rect.top 狀態列的高度,所以rect.height,rect.width分別...

如何保證Redis的高併發和高可用?

就是如果你用redis快取技術的話,肯定要考慮如何用redis來加多台機器,保證redis是高併發的,還有就是如何讓redis保證自己不是掛掉以後就直接死掉了,redis高可用 redis高併發 主從架構,一主多從,一般來說,很多專案其實就足夠了,單主用來寫入資料,單機幾萬qps,多從用來查詢資料,...

如何保證分布式系統中介面呼叫的順序性?

如何保證分布式系統中介面呼叫的順序性?分布式是當下比較流行的乙個話題,很多大型的網際網路公司都是分布式系統,將乙個大而全的系統拆分成多個小而精的乙個個的功能單 一 職責集中的子系統,系統之間通過約定好的協議 規則進行呼叫,降低系統之間的耦合度,避免牽一髮而動全身。雖然分布式系統的架構有很多的好處,但...