1、eureka的註冊流程
阿新 • • 發佈:2021-11-17
客戶端註冊到服務端是通過http請求的
涉及到多級快取
register登錄檔
原始碼精髓:多級快取設計思想 在拉取登錄檔的時候:- 首先從ReadOnlyCacheMap裡查快取的登錄檔。
- 若沒有,就找ReadWriteCacheMap裡快取的登錄檔。
- 如果還沒有,就從記憶體中獲取實際的登錄檔資料。
- 會在記憶體中更新變更的登錄檔資料,同時過期掉ReadWriteCacheMap。
- 此過程不會影響ReadOnlyCacheMap提供人家查詢登錄檔。
- 預設每30秒Eureka Server會將ReadWriteCacheMap更新到ReadOnlyCacheMap裡
- 預設每180秒Eureka Server會將ReadWriteCacheMap裡是資料失效
- 下次有服務拉取登錄檔,又會從記憶體中獲取最新的資料了,同時填充各級快取。
- 儘可能保證了記憶體登錄檔資料不會出現頻繁的讀寫衝突問題。
- 並且進一步保證對Eureka Server的大量請求,都是快速從純記憶體走,效能極高(可以稍微估計下對於一線網際網路公司,內部上千個eureka client例項,每分鐘對eureka上千次的訪問,一天就是上千萬次的訪問)