-
说说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