You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Eureka Server 3.1.4不可用问题求助(Spring Boot 2.6.x)

Eureka Server 3.1.4集群页面异常、服务发现失效问题解决

问题说明

使用Spring Boot 2.6.7/2.6.13搭配Eureka Server 3.1.4,部署了两个集群节点:SERVER-ALPHA(端口9700)和SERVER-BETA(端口9800),节点配置如下:

SERVER-ALPHA的application.yml

server:
  port: 9700

spring:
  application:
    name: SERVER-ALPHA

eureka:
  instance:
    prefer-ip-address: false
    hostname: SERVER-ALPHA
  client:
    register-with-eureka: true
    fetch-registry: true
    service-url:
      defaultZone: http://172.22.58.174:9800/eureka/
    enabled: true
  server:
    enable-self-preservation: false
    renewal-percent-threshold: 0.85
    eviction-interval-timer-in-ms: 1000
    use-read-only-response-cache: false
    response-cache-update-interval-ms: 1000

SERVER-BETA的application.yml

server:
  port: 9800

spring:
  application:
    name: SERVER-BETA

eureka:
  instance:
    prefer-ip-address: false
    hostname: SERVER-BETA
  client:
    register-with-eureka: true
    fetch-registry: true
    service-url:
      defaultZone: http://172.22.58.174:9700/eureka/
    enabled: true
  server:
    enable-self-preservation: false
    renewal-percent-threshold: 0.85
    eviction-interval-timer-in-ms: 1000
    use-read-only-response-cache: false
    response-cache-update-interval-ms: 1000

目前Eureka页面异常,服务发现功能失效。已尝试设置eureka.client.enabled为true(该参数默认值即为true),但问题未解决;查阅的方案多针对2021年前的Spring Cloud版本,适配当前版本的解决方法缺失,现提供以下可行排查与修复建议:


排查与修复步骤

  • 检查主机名解析有效性
    因为prefer-ip-address设为false,Eureka节点间依赖主机名通信。需确认:

    1. 两台服务器的系统主机名是否分别为SERVER-ALPHA和SERVER-BETA
    2. 节点间能否通过对方主机名正常ping通
    3. 若主机名解析失败,可在两台服务器的/etc/hosts(Linux)或C:\Windows\System32\drivers\etc\hosts(Windows)中添加IP与主机名的映射,比如172.22.58.174 SERVER-ALPHA
  • 修正废弃的缓存配置
    Eureka Server 3.1.x中use-read-only-response-cache参数已被废弃,保留该配置可能导致缓存逻辑异常,建议修改为:

    eureka:
      server:
        # 移除或注释use-read-only-response-cache参数
        response-cache-auto-expiration-in-seconds: 1  # 替换为该参数,设置1秒缓存自动过期
    
  • 调整自我保护与续约阈值
    当前关闭自我保护且设置0.85的续约阈值,在2节点集群场景下易触发实例误剔除逻辑:

    1. 临时开启自我保护:enable-self-preservation: true
    2. 降低续约阈值适配小规模集群:renewal-percent-threshold: 0.5
  • 验证版本兼容性
    Spring Boot 2.6.x对应Spring Cloud 2021.0.x版本,需确保Eureka Server版本与之匹配。建议升级到官方推荐的spring-cloud-starter-netflix-eureka-server:3.1.8,修复潜在的版本兼容问题。

  • 检查端口与防火墙规则
    确认两台服务器的9700、9800端口未被防火墙/安全组拦截,可通过telnet 172.22.58.174 9800测试端口连通性。

  • 通过日志定位具体错误
    查看Eureka Server的启动日志,重点关注Connection refused(通信失败)、Registration failed(注册失败)、Cache refresh failed(缓存刷新异常)等关键字,根据日志信息精准定位问题。


内容的提问来源于stack exchange,提问作者ReTriBleT

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.11 12:52:43