-
說說Eureka的高可用方案
至少3個Eureka實例才能滿足高可用,配置方法如下:- 准備三個節點node1,node2,node3。
- 在每個實例的application.xml文件里加入
eureka.client.service-url.defaultZone: {address}
,address是其他節點的地址。如果是node1,address就是http://node2/eureka,http://node3/eureka
,其他節點依次類推。 - 啟動三個實例,注冊信息會在他們之間互相同步。
-
Eureka的高可用滿足CAP的哪兩項
Eureka放棄了一致性,保證的是AP。Spring Cloud的開發者認為注冊服務更重要的是可用性,可以接受短期內達不到一致性的狀況。 -
如果其中一台Eureka宕機,會出現什么情況
客戶端在向某個Eureka注冊發現連接失敗,則會自動切換至其它節點,只要有一台Eureka還在,就能保證注冊服務可用,只不過查到的信息可能不是最新的。 -
如果客戶端與Eureka失去連接,Eureka會怎么處理
如果在15分鍾內超過85%的節點都沒有正常的心跳,那么Eureka就認為客戶端與注冊中心出現了網絡故障,此時會出現以下幾種情況:- Eureka不再從注冊列表中移除因為長時間沒收到心跳而應該過期的服務。
- Eureka仍然能夠接受新服務的注冊和查詢請求,但是不會被同步到其它節點上(即保證當前節點依然可用)。
- 當網絡穩定時,當前實例新的注冊信息會被同步到其它節點中。
參考文章:
https://blog.csdn.net/qq_25484147/article/details/83211517
https://www.cnblogs.com/snowjeblog/p/8821325.html