eureka集群高可用配置

譬如eureka.client.register-with-eureka和fetch-registry是否要配置,配不配区别在哪里;eureka的客户端添加service-url时,是否是须要把全部的eureka的server地址都写上,仍是只须要写一个server就能够了(由于server之间已经相互注册了)?若是写上了全部的server地址,那至关于将每一个client服务都往全部的server都添加了一遍,那还配置server间的相互注册有什么意义?spring

  • 两个服务端配置:
server:
  port: 20001
eureka:
  instance:
    hostname: server1
  client:
    # 表示是否注册自身到eureka服务器
    # register-with-eureka: false
    # 是否从eureka上获取注册信息
    # fetch-registry: false
    service-url:
      defaultZone: http://server2:20002/eureka/
server:
  port: 20002
eureka:
  instance:
    hostname: server2
  client:
    #register-with-eureka: false
    #fetch-registry: false
    service-url:
      defaultZone: http://server1:20001/eureka/
  • 客户端配置:
    • defaultZone这里表明eureka server的地址,
    • 不少文章在这里会将全部的server都配置上去,用逗号分隔,
    • 咱们这里只配置一个server1,而后测试一下若是server1挂掉了,服务中心还能不能起做用。
      • 能够看到eureka_client已经在两个server上都注册上了,虽然咱们在client的yml里default_zone只配置了server1。
      • 可是请注意:若是server1挂掉了,那么后续的client就没法再注册上来,重启Client后也没法再注册到eureka上来。
        • 这就是为何不少人在Client端添加多个eureka地址的缘由!
        • 是避免本身注册的eureka单点挂掉。
        • 只要本身注册的eureka还在,那么后续添加N个eureka的其余server,全部注册信息都会被复制过去。
spring:
  application:
    name: eureka_client
eureka:
  client:
    service-url:
      defaultZone: http://server1:20001/eureka/
相关文章
相关标签/搜索