作者:歪友46300606 | 来源:互联网 | 2024-11-20 13:05
在尝试通过自定义端口部署SpringCloudEureka时遇到了连接失败的问题。本文详细描述了问题的现象,并提供了有效的解决方案,以帮助遇到类似情况的开发者。
在尝试使用非默认端口部署Spring Cloud Eureka时,遇到了网络级别连接失败的问题。具体表现为,在自定义端口(如7000)下,系统会持续抛出如下错误信息,而使用默认的8761端口则不会出现问题:
2021-12-07 15:59:45.057 ERROR 20599 --- [get_localhost-9] c.n.e.cluster.ReplicationTaskProcessor : Network level connection to peer localhost; retrying after delay
...
此错误提示表明客户端尝试与本地主机建立连接时被拒绝,通常是因为服务未运行或端口配置不当。经过多次调试和查阅文档,发现了解决这一问题的关键在于正确配置Eureka实例的主机名。
原始配置(导致错误的配置)如下所示:
spring:
application:
name: eureka
server:
port: 7000
eureka:
client:
register-with-eureka: false
fetch-registry: false
为了解决这个问题,需要在配置文件中明确指定Eureka实例的主机名为localhost,如下所示:
spring:
application:
name: eureka
server:
port: 7000
eureka:
instance:
hostname: localhost
client:
register-with-eureka: false
fetch-registry: false
这一更改确保了Eureka服务能够正确识别并绑定到指定的主机名和端口上,从而避免了连接失败的问题。值得注意的是,这里的主机名必须设置为localhost,如果设置为其他值,则可能会再次遇到相同的错误。
参考资料:
1. 学习Spring Cloud中发现的问题(二)
2. 使用Spring Cloud更改Eureka服务器的默认端口