server:
port: 8080 #8761
spring:
application:
name: eureka-server # 应用名称
eureka:
instance:
hostname: localhost # 设置 Eureka Server 的主机名或 IP 地址。在生产环境中,这应该是一个可解析的域名或静态 IP 地址。
lease-renewal-interval-in-seconds: 30 # 客户端向 Eureka Server 发送心跳的间隔时间,默认值为 30 秒。心跳用于告知 Eureka Server 该实例仍然活跃。
lease-expiration-duration-in-seconds: 90 # 服务实例在 Eureka Server 过期的时间,默认值为 90 秒。如果 Eureka Server 在这个时间内没有收到实例的心跳,就会认为该实例不可用。
prefer-ip-address: true
instance-id: ${spring.application.name}
client:
register-with-eureka: true # 指示 Eureka Server 是否需要向自身注册。通常在单节点 Eureka Server 中设置为 false,在集群环境中可以设置为 true。
fetch-registry: false # 指示 Eureka Server 是否需要从其他 Eureka Server 节点获取注册表信息。在单节点 Eureka Server 中通常设置为 false,在集群环境中可以设置为 true。
# healthcheck: # 开启健康检查(依赖spring-boot-starter-actuator) 失败
# enabled: true
# service-url:
# defaultZone: http://${eureka.instance.hostname}:${server.port}/eureka/
server:
enable-self-preservation: true # 启用自我保护模式,防止大规模服务实例被剔除。自我保护模式下,Eureka Server 会在检测到网络分区或大规模实例丢失时,停止剔除实例。
eviction-interval-timer-in-ms: 60000 # 配置 Eureka Server 检查租约过期的时间间隔,单位为毫秒。这个配置指定了 Eureka Server 多久检查一次实例租约的过期情况。
defaultZone: http://${eureka.instance.hostname}:${server.port}/eureka/ # 配置 Eureka Server 的默认服务 URL。客户端将使用这个 URL 进行服务注册和发现。在单节点设置中,这通常指向自身。
shutDownEnabled: true # 启用服务关闭时的优雅关闭。设置为 true 时,当 Eureka Server 关闭时,会通知所有注册的实例,以便它们可以执行适当的清理操作。
2024-10-19T11:53:05.579+08:00 INFO 5016 --- [eureka-server] [nfoReplicator-0] c.n.d.s.t.d.RedirectingEurekaHttpClient : Request execution error. endpoint=DefaultEndpoint{ serviceUrl='http://localhost:8761/eureka/}, exception=java.net.ConnectException: Connection refused: no further information stacktrace=jakarta.ws.rs.ProcessingException: java.net.ConnectException: Connection refused: no further information
at org.glassfish.jersey.client.internal.HttpUrlConnector.apply(HttpUrlConnector.java:270)
at org.glassfish.jersey.client.ClientRuntime.invoke(ClientRuntime.java:300)
at org.glassfish.jersey.client.JerseyInvocation.lambda$invoke$0(JerseyInvocation.java:662)
at org.glassfish.jersey.client.JerseyInvocation.call(JerseyInvocation.java:697)
at org.glassfish.jersey.client.JerseyInvocation.lambda$runInScope$3(JerseyInvocation.java:691)
at org.glassfish.jersey.internal.Errors.process(Errors.java:292)
at org.glassfish.jersey.internal.Errors.process(Errors.java:274)
at org.glassfish.jersey.internal.Errors.process(Errors.java:205)
at org.glassfish.jersey.process.internal.RequestScope.runInScope(RequestScope.java:390)
at org.glassfish.jersey.client.JerseyInvocation.runInScope(JerseyInvocation.java:691)
at org.glassfish.jersey.client.JerseyInvocation.invoke(JerseyInvocation.java:661)
at org.glassfish.jersey.client.JerseyInvocation$Builder.method(JerseyInvocation.java:439)
at org.glassfish.jersey.client.JerseyInvocation$Builder.post(JerseyInvocation.java:345)
at com.netflix.discovery.shared.transport.jersey3.AbstractJersey3EurekaHttpClient.register(AbstractJersey3EurekaHttpClient.java:99)
at com.netflix.discovery.shared.transport.decorator.EurekaHttpClientDecorator$1.execute(EurekaHttpClientDecorator.java:59)
at com.netflix.discovery.shared.transport.decorator.MetricsCollectingEurekaHttpClient.execute(MetricsCollectingEurekaHttpClient.java:73)
at com.netflix.discovery.shared.transport.decorator.EurekaHttpClientDecorator.register(EurekaHttpClientDecorator.java:56)
at com.netflix.discovery.shared.transport.decorator.EurekaHttpClientDecorator$1.execute(EurekaHttpClientDecorator.java:59)
at com.netflix.discovery.shared.transport.decorator.RedirectingEurekaHttpClient.executeOnNewServer(RedirectingEurekaHttpClient.java:121)
at com.netflix.discovery.shared.transport.decorator.RedirectingEurekaHttpClient.execute(RedirectingEurekaHttpClient.java:80)
at com.netflix.discovery.shared.transport.decorator.EurekaHttpClientDecorator.register(EurekaHttpClientDecorator.java:56)
at com.netflix.discovery.shared.transport.decorator.EurekaHttpClientDecorator$1.execute(EurekaHttpClientDecorator.java:59)
at com.netflix.discovery.shared.transport.decorator.RetryableEurekaHttpClient.execute(RetryableEurekaHttpClient.java:120)
at com.netflix.discovery.shared.transport.decorator.EurekaHttpClientDecorator.register(EurekaHttpClientDecorator.java:56)
at com.netflix.discovery.shared.transport.decorator.EurekaHttpClientDecorator$1.execute(EurekaHttpClientDecorator.java:59)
at com.netflix.discovery.shared.transport.decorator.SessionedEurekaHttpClient.execute(SessionedEurekaHttpClient.java:77)
at com.netflix.discovery.shared.transport.decorator.EurekaHttpClientDecorator.register(EurekaHttpClientDecorator.java:56)
at com.netflix.discovery.DiscoveryClient.register(DiscoveryClient.java:820)
at com.netflix.discovery.InstanceInfoReplicator.run(InstanceInfoReplicator.java:121)
at com.netflix.discovery.InstanceInfoReplicator$1.run(InstanceInfoReplicator.java:101)
at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:577)
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:317)
at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:304)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642)
at java.base/java.lang.Thread.run(Thread.java:1589)
Caused by: java.net.ConnectException: Connection refused: no further information
at java.base/sun.nio.ch.Net.pollConnect(Native Method)
at java.base/sun.nio.ch.Net.pollConnectNow(Net.java:672)
at java.base/sun.nio.ch.NioSocketImpl.timedFinishConnect(NioSocketImpl.java:535)
at java.base/sun.nio.ch.NioSocketImpl.connect(NioSocketImpl.java:585)
at java.base/java.net.Socket.connect(Socket.java:666)
at java.base/sun.net.NetworkClient.doConnect(NetworkClient.java:178)
at java.base/sun.net.www.http.HttpClient.openServer(HttpClient.java:531)
at java.base/sun.net.www.http.HttpClient.openServer(HttpClient.java:636)
at java.base/sun.net.www.http.HttpClient.<init>(HttpClient.java:279)
at java.base/sun.net.www.http.HttpClient.New(HttpClient.java:384)
at java.base/sun.net.www.http.HttpClient.New(HttpClient.java:406)
at java.base/sun.net.www.protocol.http.HttpURLConnection.getNewHttpClient(HttpURLConnection.java:1308)
at java.base/sun.net.www.protocol.http.HttpURLConnection.plainConnect0(HttpURLConnection.java:1241)
at java.base/sun.net.www.protocol.http.HttpURLConnection.plainConnect(HttpURLConnection.java:1127)
at java.base/sun.net.www.protocol.http.HttpURLConnection.connect(HttpURLConnection.java:1056)
at java.base/sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:1661)
at java.base/sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1585)
at java.base/java.net.HttpURLConnection.getResponseCode(HttpURLConnection.java:529)
at org.glassfish.jersey.client.internal.HttpUrlConnector.handleException(HttpUrlConnector.java:594)
at org.glassfish.jersey.client.internal.HttpUrlConnector._apply(HttpUrlConnector.java:420)
at org.glassfish.jersey.client.internal.HttpUrlConnector.apply(HttpUrlConnector.java:268)
... 35 more
替换为
server:
port: 8080 #8761
spring:
application:
name: eureka-server # 应用名称
eureka:
instance:
hostname: localhost # 设置 Eureka Server 的主机名或 IP 地址。在生产环境中,这应该是一个可解析的域名或静态 IP 地址。
lease-renewal-interval-in-seconds: 30 # 客户端向 Eureka Server 发送心跳的间隔时间,默认值为 30 秒。心跳用于告知 Eureka Server 该实例仍然活跃。
lease-expiration-duration-in-seconds: 90 # 服务实例在 Eureka Server 过期的时间,默认值为 90 秒。如果 Eureka Server 在这个时间内没有收到实例的心跳,就会认为该实例不可用。
prefer-ip-address: true
instance-id: ${spring.application.name}
client:
register-with-eureka: true # 指示 Eureka Server 是否需要向自身注册。通常在单节点 Eureka Server 中设置为 false,在集群环境中可以设置为 true。
fetch-registry: false # 指示 Eureka Server 是否需要从其他 Eureka Server 节点获取注册表信息。在单节点 Eureka Server 中通常设置为 false,在集群环境中可以设置为 true。
# healthcheck: # 开启健康检查(依赖spring-boot-starter-actuator) 失败
# enabled: true
service-url:
defaultZone: http://${eureka.instance.hostname}:${server.port}/eureka/
server:
enable-self-preservation: true # 启用自我保护模式,防止大规模服务实例被剔除。自我保护模式下,Eureka Server 会在检测到网络分区或大规模实例丢失时,停止剔除实例。
eviction-interval-timer-in-ms: 60000 # 配置 Eureka Server 检查租约过期的时间间隔,单位为毫秒。这个配置指定了 Eureka Server 多久检查一次实例租约的过期情况。
# defaultZone: http://${eureka.instance.hostname}:${server.port}/eureka/ # 配置 Eureka Server 的默认服务 URL。客户端将使用这个 URL 进行服务注册和发现。在单节点设置中,这通常指向自身。
# shutDownEnabled: true # 启用服务关闭时的优雅关闭。设置为 true 时,当 Eureka Server 关闭时,会通知所有注册的实例,以便它们可以执行适当的清理操作。
或
server:
port: 8761 #8761
spring:
application:
name: eureka-server # 应用名称
eureka:
instance:
hostname: localhost # 设置 Eureka Server 的主机名或 IP 地址。在生产环境中,这应该是一个可解析的域名或静态 IP 地址。
lease-renewal-interval-in-seconds: 30 # 客户端向 Eureka Server 发送心跳的间隔时间,默认值为 30 秒。心跳用于告知 Eureka Server 该实例仍然活跃。
lease-expiration-duration-in-seconds: 90 # 服务实例在 Eureka Server 过期的时间,默认值为 90 秒。如果 Eureka Server 在这个时间内没有收到实例的心跳,就会认为该实例不可用。
prefer-ip-address: true
instance-id: ${spring.application.name}
client:
register-with-eureka: true # 指示 Eureka Server 是否需要向自身注册。通常在单节点 Eureka Server 中设置为 false,在集群环境中可以设置为 true。
fetch-registry: false # 指示 Eureka Server 是否需要从其他 Eureka Server 节点获取注册表信息。在单节点 Eureka Server 中通常设置为 false,在集群环境中可以设置为 true。
# healthcheck: # 开启健康检查(依赖spring-boot-starter-actuator) 失败
# enabled: true
# service-url:
# defaultZone: http://${eureka.instance.hostname}:${server.port}/eureka/
server:
enable-self-preservation: true # 启用自我保护模式,防止大规模服务实例被剔除。自我保护模式下,Eureka Server 会在检测到网络分区或大规模实例丢失时,停止剔除实例。
eviction-interval-timer-in-ms: 60000 # 配置 Eureka Server 检查租约过期的时间间隔,单位为毫秒。这个配置指定了 Eureka Server 多久检查一次实例租约的过期情况。
defaultZone: http://${eureka.instance.hostname}:${server.port}/eureka/ # 配置 Eureka Server 的默认服务 URL。客户端将使用这个 URL 进行服务注册和发现。在单节点设置中,这通常指向自身。
shutDownEnabled: true # 启用服务关闭时的优雅关闭。设置为 true 时,当 Eureka Server 关闭时,会通知所有注册的实例,以便它们可以执行适当的清理操作。