关于eureka的两个配置:

eureka.client.register-with-eureka    //表示是否将自己注册到Eureka Server

eureka.client.fetch-registry         //表示是否从Eureka Server获取注册的服务信息

它们的默认值都是true

 

但是我在搭建eureka集群的时候,发现上面两项配置设置为false,依然可以实现服务共享

第一个eureka服务端配置文件:

server:
  port: 7001

eureka:
  instance:
    hostname: eureka7001 #eureka服务端的实例名称
  client:
    register-with-eureka: false     #false表示不向注册中心注册自己。
    fetch-registry: false     #false表示自己端就是注册中心,我的职责就是维护服务实例,并不需要去检索服务
    service-url:
      defaultZone: http://eureka7002:7002/eureka/

第二个eureka服务端配置文件:

server:
  port: 7002

eureka:
  instance:
    hostname: eureka7002 #eureka服务端的实例名称
  client:
    register-with-eureka: false     #false表示不向注册中心注册自己。
    fetch-registry: false     #false表示自己端就是注册中心,我的职责就是维护服务实例,并不需要去检索服务
    service-url:
      defaultZone: http://eureka7001:7001/eureka/

服务提供者1,只向7001注册服务:

server:
  port: 8001


eureka:
  client:
    service-url:
      defaultZone: http://eureka7001:7001/eureka
spring:
  application:
    name: stu-service

服务提供者2,只向7002注册服务:

server:
  port: 8002


eureka:
  client:
    service-url:
      defaultZone: http://eureka7002:7002/eureka
spring:
  application:
    name: stu-service

奇怪的是,两个eureka服务端都注册了2个服务提供者:

 

 

 按配置的理解,应该只注册了一个服务,希望知道的大佬解答一下疑问,谢谢。

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐