跳至主要內容

(15)说说Eureka的高可用方案


  1. 说说Eureka的高可用方案
    至少3个Eureka实例才能满足高可用,配置方法如下:

    1. 准备三个节点node1,node2,node3。
    2. 在每个实例的application.xml文件里加入
      eureka.client.service-url.defaultZone: {address},address是其他节点的地址。如果是node1,address就是http://node2/eureka,http://node3/eureka,其他节点依次类推。
    3. 启动三个实例,注册信息会在他们之间互相同步。
  2. Eureka的高可用满足CAP的哪两项
    Eureka放弃了一致性,保证的是AP。Spring Cloud的开发者认为注册服务更重要的是可用性,可以接受短期内达不到一致性的状况。

  3. 如果其中一台Eureka宕机,会出现什么情况
    客户端在向某个Eureka注册发现连接失败,则会自动切换至其它节点,只要有一台Eureka还在,就能保证注册服务可用,只不过查到的信息可能不是最新的。

  4. 如果客户端与Eureka失去连接,Eureka会怎么处理
    如果在15分钟内超过85%的节点都没有正常的心跳,那么Eureka就认为客户端与注册中心出现了网络故障,此时会出现以下几种情况:

    1. Eureka不再从注册列表中移除因为长时间没收到心跳而应该过期的服务。
    2. Eureka仍然能够接受新服务的注册和查询请求,但是不会被同步到其它节点上(即保证当前节点依然可用)。
    3. 当网络稳定时,当前实例新的注册信息会被同步到其它节点中。

参考文章:

https://blog.csdn.net/qq_25484147/article/details/83211517open in new window
https://www.cnblogs.com/snowjeblog/p/8821325.htmlopen in new window

上次编辑于: