
EurekaServer啟動,等待客戶端前來注冊.
EurekaServer之間通過Replicat完成服務列表同步.每個Eureka節點,都會存儲完整的服務列表.
EurekaClient會通過配置中的defaultZone信息前往EurekaServer去進行注冊.
心跳機制:微服務客戶端每隔30s(默認值)回向Server發送一次"心跳".報告狀態.如果超過90s(默認值)
沒有接收到心跳,會標注該服務失效,并從服務列表刪除.
自我保護機制:在單位時間內,如果沒有收到超過85%的Client發送過來的心跳,那么會判斷為服務器
自己網絡出現異常.從而進入保護模式.不再刪除服務列表中的微服務.直到心跳請求恢復之
后,Eureka會退出保護模式.
EurekaClient會定時全量或者增量從EurekaServer拉取服務列表.并將完整的服務列表緩存到本地.
即使所有server都不能使用,客戶端仍然能夠使用緩存的服務列表完成遠程調用.
EurekaClient通過服務列表獲取調用信息,完成服務調用.
**Eureka設計**
分布式系統的CAP理論.
C:一致性.從各個節點獲得的數據一致.
A:可用性.每一次請求都會得到一個(正確)響應.
P:分區容忍.節點之間出現網絡分區.系統仍然能夠繼續運行.
分布式系統在設計時,只能傾向于CAP中的兩個,不可能3個同時兼顧.
DUBBO的設計傾向于哪兩個?
dubbo的設計傾向于CP. dubbo更注重一致性.每次服務列表同步都是由leader發起,確保每個節點都寫入
成功,才會確認寫入.保證了每個節點的一致性.
leader不可用時,會選舉新的leader.而在選舉期間.集群是不可用的.直到leader選舉結束,并完成同步.才能
繼續提供服務.所以DUBBO的設計更傾向于數據的一致性.
Eureka的設計傾向于哪兩個?
eureka的設計傾向于AP.首先,Eureka服務器之間的同步屬于異步的P2P方式.有可能在同一時間不同
Server節點,拉取到不同的服務列表的.但是放心,最終一致性還是可以保障的.Server節點都是平等的,沒有
主從概念.任何一個Server掛掉.客戶端會自動連接到其他存活Server提供服務.即使所有Server都掛掉.客
戶端也會從本地緩存的服務列表繼續獲得信息.由此可以得出結論.Eureka是更傾向于可用性的設計
- mybatis
- 基礎
- maven依賴
- 主配置文件
- 實體映射表
- Mapper接口
- xxxMapper.xml
- 代碼測試
- CURD
- 查詢操作
- 新增操作
- 修改操作
- 刪除操作
- 生命周期&作用域
- 實體類型配置別名
- 進階查詢
- 列名與屬性名不對應
- 多條件sql查詢
- 模糊查詢
- 獲取保存后的主鍵
- 動態sql
- where配合If
- where配合choose
- where配合foreach
- Sql片段
- 關聯查詢
- 表結構設計及實體類
- 多對一&一對一
- 一對多
- 多對多
- 嵌套查詢(多條sql)
- 多對一&一對一
- 一對多
- 多對多
- 加載策略
- 緩存
- 一級緩存
- 二級緩存
- 配置進階
- properties
- mapper注冊
- 連接池
- 注解開發
- spring
- 基礎
- maven依賴
- bean創建
- 基礎配置
- 測試代碼
- 簡單原理
- 構造方法創建對象
- 靜態工廠創建對象
- 動態工廠創建對象
- 作用域
- 初始化&銷毀方法
- 單例和原型作用域
- 依賴注入
- 構造方法注入
- set方法注入
- 集合&數組屬性注入
- 配置文件模塊化
- 注解配置
- 配置相關
- 注解釋義
- 純注解配置
- 小結
- Spring整合junit
- 依賴管理
- 使用
- Aop
- 依賴管理
- 配置相關
- aopDemo(非環繞通知)
- 名詞解釋
- 環繞通知
- xml混合注解Aop開發
- 純注解Aop
- Aop事務
- 代理相關
- 動態代理觀光代碼
- cglib代理觀光代碼
- SpringMVC
- 基礎
- 依賴管理
- 配置web.xml
- spring-mvc.xml
- idea tomcat配置
- Hello Controller
- Api解析
- @Controller
- @RequestMapping
- 編碼問題解決
- 獲取請求頭信息
- 獲取Cookie的值
- json相關
- 依賴管理
- 接收json請求參數
- 以json形式返回給客戶端
- restful風格
- 轉發
- 重定向
- 頁面傳值
- Request域
- Session域
- Aop異常處理
- 攔截器
- 番外篇
- Tomcat
- Servlet
- 創建
- 線程安全問題
- 生命周期相關
- Filter
- Listener
- ssm整合
- mybatis基礎篇
- mybatis依賴
- mybatis實體
- Mapper接口
- mybatis配置
- 測試代碼
- spring基礎篇
- 依賴
- AccountService接口
- AccountServiceImpl
- 測試代碼
- springmvc
- 依賴
- web.xml
- spring-mvc.xml
- AccountController
- spring整合mybatis
- 依賴
- 配置
- spring整合springmvc
- web.xml
- SpringBoot
- maven配置
- 引入SpringBoot技術
- 入口及測試控制器
- 打包插件
- 配置相關
- 配置實踐
- 配置自動適配
- 配置校驗
- 配置文件制定
- SpringBoot整合Junit
- 整合mybatis
- 依賴管理
- 配置相關
- @Mapper
- 整合freemarker
- 依賴管理
- 配置相關
- 測試控制器
- 目錄相關
- 驗證器
- maven依賴
- 驗證器定義
- 控制器接收參數
- 全局異常通知
- filter跨域解決方案
- 模板相關問題
- 上傳解決方案
- redis相關
- maven依賴管理
- 配置相關
- cache簡單封裝
- json處理
- SpringCloud
- 簡介
- 版本號
- eureka
- 簡介
- 組件
- eureka服務依賴
- eureka配置
- 項目啟動
- 父類依賴庫
- eureka_cli
- eureka客戶端依賴
- 配置項
- 啟動項
- eureka集群原理
- ribbon
- maven
- 配置
- 微服務實戰
- 項目架構
- 基類依賴
- eureka注冊中心
- 1依賴相關
- 2.配置相關
- 3.啟動項
- 業務service
- supergo-manager-service
- 依賴
- 配置
- 數據源監控
- 啟動項
- feign調用
- supergo-manager-feign
- 依賴
- 調用代碼
- 接口層
- supergo-manager-web
- 依賴
- 配置項
- 啟動項
- 通用mapper
- 逆向工程
- 數據庫連接配置
- 逆向工程配置
- 操作
- base-service
- 簡介
- 跨域
- 網關層
- zuul
- 依賴項
- 配置
- 啟動項