解决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>

再次启动运行成功

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

相关推荐
HaSaKing_7212 小时前
【实战记录】Docker Compose 单机部署 EMQX 3 节点集群(5.8.8 社区版)完整踩坑与解决方案
docker·容器·eureka
tzhou644523 小时前
Docker核心功能解析:网络、资源控制、数据卷与镜像构建
网络·docker·eureka
weixin_395448911 天前
动态分辨率的ioufsd
eureka·flink·etcd
前端小臻1 天前
Eureka笔记(黑马)
微服务·eureka
爱宇阳1 天前
使用 Docker 容器备份与 Docker Compose 升级 GitLab 实例教程
docker·eureka·gitlab
眠りたいです2 天前
Docker:Docker image常用命令使用及实操
运维·docker·容器·eureka·镜像
悲喜自渡7213 天前
Docker指令自存
java·docker·eureka
weixin_462446234 天前
【实战原创】Docker 清理指南:以 Coze Studio 为例的资源保留与清理实践(非万能方案)
docker·容器·eureka
bloglin999995 天前
启动容器报错ls: cannot access ‘/docker-entrypoint-initdb.d/‘: Operation not permitted
docker·容器·eureka
学习3人组5 天前
CentOS9安装Docker
docker·容器·eureka