本文分类:
SpringCloud

defaultZone不等于default-zone

eureka:
  client:
    service-url:
      defaultZone: http://n0.hiwzc:18010/eureka/

单机上模拟集群不能使用 localhost 和 prefer-ip-address

单机上模拟集群,必须使用不同的主机名,并且不能设置 prefer-ip-address,否则虽然Eureka能够启动,但分片服务总显示在unavailable-replicas中。具体配置的方法是,首先编辑hosts文件,将127.0.0.1映射到不同的主机名,然后在Eureka的配置中使用不同的主机名。比如/etc/hosts中添加如下内容:

127.0.0.1 n0.hiwzc
127.0.0.1 n1.hiwzc
127.0.0.1 n2.hiwzc
127.0.0.1 n3.hiwzc

然后 Eureka Server的 application.yml 中就可以这样配置:

eureka:
  instance:
    hostname: n1.hiwzc
    instance-id: ${spring.cloud.client.ipAddress}:${server.port}
  client:
    service-url:
      defaultZone: http://n2.hiwzc:18012/eureka/,http://n3.hiwzc:18013/eureka/

服务提供者是否需要配置所有的 Eureka Server 服务器的地址

理论上,服务提供者只需要配置一个Eureka Server的地址,但如果这个服务提供者配置的Eureka Server正好不可用了,那这个服务提供者就无法同注册中心交互了。实践中,Eureka Server服务器的数量不会太多,为保证可用性,通常服务提供者会配置所有的Eureka Server服务器的地址。

本文来自 [时光记 - 王智超的个人空间](www.hiwzc.com),转载请注明出处。