解决eureka服务注册名报错

解决eureka服务注册名报错

解决eureka服务注册名报错

简介

Eureka是Netflix开源的一款服务发现和负载均衡工具,用于在云环境中定位微服务实例。它允许微服务注册自己和发现其他微服务,并提供了一种简单的方式来调用其他服务的实例。

Eureka的核心概念是服务注册和服务发现。在Eureka中,每个微服务实例都可以向Eureka服务器注册自己的信息,包括服务名称、实例ID、IP地址和端口号等。Eureka服务器会维护一个服务注册表,用于存储所有已注册的微服务实例信息。

当一个微服务需要调用其他微服务时,它可以向Eureka服务器发起服务发现请求,获取目标微服务的实例列表。Eureka服务器会返回一个响应,包含所有可用的目标微服务实例信息。微服务可以通过负载均衡算法选择一个合适的目标实例进行调用。

Eureka还具有高可用性的特性。它通过使用Eureka服务器集群来实现,每个服务器都具有相同的服务注册表,可以相互进行复制和同步。当一台Eureka服务器出现故障时,其他服务器可以接管其功能,保证服务的正常运行。

除了服务注册和服务发现功能外,Eureka还提供了一些其他的特性,如健康检查、自我保护机制和客户端实例缓存等。这些特性都可以帮助开发人员更好地管理和监控微服务架构。

总结来说,Eureka是一款强大的服务发现和负载均衡工具,可以帮助开发人员在云环境中构建可靠的微服务架构。它简化了微服务之间的通信和调用,并提供了高可用性和易用性的解决方案。

正文

使用RestTemplate.getForObject( url,Class)方法中,url直接使用服务注册名进行拼接后无法正常远程调用。

如下

java 复制代码
String url="http://provider-service/provider/hello/"+id;
return restTemplate.getForObject(url,String.class);

报错404,说明没访问到

我的解决方法:换依赖版本

原来的版本

java 复制代码
<parent>
      <artifactId>spring-boot-starter-parent</artifactId>
      <groupId>org.springframework.boot</groupId>
      <version>2.6.5</version>
</parent>
<dependency>
      <groupId>org.springframework.cloud</groupId>
      <artifactId>spring-cloud-dependencies</artifactId>
      <version>2021.0.1</version>
      <type>pom</type>
      <scope>import</scope>
</dependency>

更改为下面的

java 复制代码
<parent>
     <groupId>org.springframework.boot</groupId>
     <artifactId>spring-boot-starter-parent</artifactId>
     <version>2.2.3.RELEASE</version>
</parent>
<dependencies>
    <dependency>
        <groupId>org.springframework.cloud</groupId>
        <artifactId>spring-cloud-dependencies</artifactId>
        <version>Hoxton.SR1</version>
        <type>pom</type>
        <scope>import</scope>
    </dependency>
</dependencies>

再次启动运行成功

如果有其他解决方案欢迎分享

相关推荐
努力努力再努力wz4 天前
【Docker入门系列】从 LXC 到 containerd:一文梳理 Docker 容器运行时架构演进与轻量化原理
docker·eureka·架构
梅梅绵绵冰7 天前
Docker容器化平台
docker·容器·eureka
jiao糖瓜子7 天前
Docker 完全指南:从镜像容器到生产部署
docker·容器·eureka·镜像·仓库
yanwumuxi8 天前
Milvus使用和改进
云原生·eureka·milvus
xhaxy9 天前
docker
docker·容器·eureka
一技安身9 天前
【信创】Docker‑Compose V2 两种离线部署(独立模式、插件模式)简易教程
java·docker·eureka
重生之我是Java开发战士10 天前
【Spring Cloud】Eureka服务注册发现与LoadBalancer负载均衡
spring cloud·eureka·负载均衡
重生之我来学Python11 天前
Docker套装的简介、安装、超级详细教程
linux·docker·容器·eureka·github
起名真的太难了11 天前
Docker 项目部署
docker·容器·eureka
码力斜杠哥11 天前
Docker Compose快速入门笔记
笔记·docker·eureka