1-记Eureka新版本客户端无法注册到服务问题

1、Eureka客户端无法注册到服务端问题

版本说明:

  • Spring Boot:3.0.9
  • Spring Cloud:2022.0.4
  • jdk:20

1、配置相关

(1) Eureka服务端

server:
  port: 8091
  # 此处如果配置了context-path,客户端那边的defaultZone就得修改为 http://localhost:8091/eureka/eureka
  # 服务端defaultZone修改为:http://localhost:8091/eureka
  servlet:
	context-path: /eureka
  
eureka:
  client:
    # 不需要获取服务端,将其改为false
    fetch-registry: false
    # 暂时不需要将自己注册到客户端
    register-with-eureka: false
    # 将eureka服务端指向自己
    service-url:
      defaultZone: http://localhost:8091/eureka

(2)Eureka客户端

server:
  port: 8082
  servlet:
    context-path: /user
spring:
  application:
    name: userService
eureka:
  client:
    serviceUrl:
      defaultZone: http://localhost:8091

2、报错问题:

DiscoveryClient_USERSERVICE/localhost:userService:8082 - was unable to refresh its cache! This periodic background refresh will be retried in 30 seconds. status = Cannot execute request on any known server stacktrace = com.netflix.discovery.shared.transport.TransportException: Cannot execute request on any known server
	at com.netflix.discovery.shared.transport.decorator.RetryableEurekaHttpClient.execute(RetryableEurekaHttpClient.java:112)
	at com.netflix.discovery.shared.transport.decorator.EurekaHttpClientDecorator.getApplications(EurekaHttpClientDecorator.java:134)
	at com.netflix.discovery.shared.transport.decorator.EurekaHttpClientDecorator$6.execute(EurekaHttpClientDecorator.java:137)
	at com.netflix.discovery.shared.transport.decorator.SessionedEurekaHttpClient.execute(SessionedEurekaHttpClient.java:77)
	at com.netflix.discovery.shared.transport.decorator.EurekaHttpClientDecorator.getApplications(EurekaHttpClientDecorator.java:134)
	at com.netflix.discovery.DiscoveryClient.getAndStoreFullRegistry(DiscoveryClient.java:1045)
	at com.netflix.discovery.DiscoveryClient.fetchRegistry(DiscoveryClient.java:958)
	at com.netflix.discovery.DiscoveryClient.refreshRegistry(DiscoveryClient.java:1475)
	at com.netflix.discovery.DiscoveryClient$CacheRefreshThread.run(DiscoveryClient.java:1442)
	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.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:1623)

3、解决办法:在客户端修改

server:
  port: 8082
  servlet:
    context-path: /user
spring:
  application:
    name: userService
eureka:
  client:
    serviceUrl:
      # 给这个地址后面加上/eureka,  不论服务端这块地址是什么,都需要在其后面加上/eureka
      defaultZone: http://localhost:8091/eureka/eureka

eureka访问地址:http://localhost:8091/eureka

在这里插入图片描述

此时也就能检测到实例了。

测试了最新版本:

  • Spring Boot:3.2.0
  • Spring Cloud:2023.0.4
  • jdk:20
  • 8
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
要在CentOS 7上安装Eureka客户,可以按照以下步骤进行操作: 1. 首先,确保您已经安装了Java Development Kit (JDK)。可以使用以下命令检查是否已经安装了Java: ``` java -version ``` 如果输出显示Java的版本信息,则表示已经安装了Java。否则,请安装JDK。 2. 使用以下命令安装Eureka客户的依赖项: ``` sudo yum install maven ``` 3. 创建一个的Maven项目,可以使用以下命令: ``` mvn archetype:generate -DgroupId=com.example -DartifactId=eureka-client -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false ``` 4. 进入创建的项目目录: ``` cd eureka-client ``` 5. 打开`pom.xml`文件,并添加以下依赖项: ```xml <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId> </dependency> </dependencies> ``` 6. 使用以下命令构建项目: ``` mvn clean install ``` 7. 创建一个的Java类,并添加以下代码作为Eureka客户的配置: ```java import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.cloud.netflix.eureka.EnableEurekaClient; @SpringBootApplication @EnableEurekaClient public class EurekaClientApplication { public static void main(String[] args) { SpringApplication.run(EurekaClientApplication.class, args); } } ``` 8. 编译并运行Eureka客户应用程序: ``` mvn spring-boot:run ``` 9. 完成后,Eureka客户将会注册Eureka服务器上。您可以在Eureka服务器的管理界面上查看到已注册客户。 这样,您就成功地在CentOS 7上安装了Eureka客户。请确保Eureka服务器已正确配置,并且您的应用程序能够连接到它。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值