Eureka常见的问题

服务注册慢

默认情况下,服务注册到Eureka Server的过程较慢。SpringCloud官方文档中给出了详细的原因

 大致含义:服务的注册涉及到心跳,默认心跳间隔为30s。在实例、服务器、客户端都在本地缓存中具
有相同的元数据之前,服务不可用于客户端发现(所以可能需要3次心跳)。可以通过配置
eureka.instance.leaseRenewalIntervalInSeconds (心跳频率)加快客户端连接到其他服务的过
程。在生产中,最好坚持使用默认值,因为在服务器内部有一些计算,他们对续约做出假设。

服务节点剔除问题
默认情况下,由于Eureka Server剔除失效服务间隔时间为90s且存在自我保护的机制。所以不能有效而
迅速的剔除失效节点,这对开发或测试会造成困扰。解决方案如下:
Eureka Server
配置关闭自我保护,设置剔除无效节点的时间间隔

spring:
  application:
    name: eureka-server
server:
  port: 9010
eureka:
  instance:
    hostname: localhost
  client:
    register-with-eureka: false
    fetch-registry: false
    service-url:
      defaultZone: http://${eureka.instance.hostname}:${server.port}/eureka/
  server:
    enable-self-preservation: false
    eviction-interval-timer-in-ms: 4000 #剔除服务间隔

Eureka Client
配置开启健康检查,并设置续约时间

#配置Eureka
eureka:
  client:
    service-url:
      defaultZone: http://localhost:9010/eureka/ #多个eurekaserver之间用,隔开
  instance:
    prefer-ip-address: true #使用ip地址注册
    instance-id: ${spring.cloud.client.ip-address}:${server.port} #向注册中心中注册服务id
    lease-renewal-interval-in-seconds: 5 #向注册中心中注册服务id
    lease-expiration-duration-in-seconds: 10 #续约到期的时间

监控页面显示ip
Eureka Server的管控台中,显示的服务实例名称默认情况下是微服务定义的名称和端口。为了更好
的对所有服务进行定位,微服务注册到Eureka Server的时候可以手动配置示例ID。配置方式如下

instance:
    prefer-ip-address: true #使用ip地址注册
    instance-id: ${spring.cloud.client.ip-address}:${server.port} #向注册中心中注册服务id
原文地址:https://www.cnblogs.com/dalianpai/p/12260771.html