三級緩存是什麼
一級緩存(註冊表)ConcurrentHashMap
二級緩存(ReadWriteMap)guava#LoadingCache
三級緩存(ReadOnlyMap)ConcurrentHashMap
註冊一個服務實例
向註冊表中寫入服務實例信息,並使得二級緩存失效
尋找一個服務
從三級緩存中找,如果有則返回,如果沒有則去二級緩存拿並更新,如果二級緩存已經失效,觸發guava的回調函數從註冊表中同步。
數據同步定時器
每 30s 從二級緩存向三級緩存同步數據
- 二級緩存有效
- 從二級緩存向三級緩存同步數據
- 二級緩存失效
- 觸發二級緩存的同步(從註冊表中拉取數據)