1. 首页 > 知识 > Java

Spring Cloud Alibaba Nacos+Gateway503错误,No servers available for service

问题如下:

No servers available for service 找不到服务

Spring Cloud Alibaba Nacos+Gateway503错误,No servers available for service (图1)

网关application.yml配置如下

server:
  port: 88spring:
  application:
    name: gulimall-gateway
  cloud:
    nacos:
      discovery:
        server-addr: 127.0.0.1:8848
    gateway:
      routes:      - id: admin_route
        #uri: lb://renren-fast
        uri: http://localhost:8080        predicates:          - Path=/api/**
        filters:
          - RewritePath=/api/(?<segment>.*), /renren-fast/$\{segment}

 uri: lb//demo-server 就会出现这个问题,但是 uri: http://localhost:8080却不会No servers available for service

由于springcloud2020弃用了Ribbon,因此Alibaba在2021版本nacos中删除了Ribbon的jar包,因此无法通过lb路由到指定微服务,出现了503情况。

另外还有可能出现这个错误:在classpath上发现的Spring MVC,与Spring Cloud Gateway不兼容

Spring Cloud Alibaba Nacos+Gateway503错误,No servers available for service (图2)

并且LoadBalancerCacheManager不可用,添加了下面的依赖还是不管用

        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-loadbalancer</artifactId>
        </dependency>

原因是因为spring cloud gateway 是建立在spring boot 2.x 和 spring webflux基础上的既:gateway 本身已经包含了spring mvc 的功能,正与提示的一样和spring boot 的web starter冲突了

解决方法:排除common中的spring-webmvc依赖

        <dependency>
            <groupId>com.atguigu.gulimall</groupId>
            <artifactId>gulimall-common</artifactId>
            <version>0.0.1-SNAPSHOT</version>
            <exclusions>
                <exclusion>
                    <groupId>org.springframework</groupId>
                    <artifactId>spring-webmvc</artifactId>
                </exclusion>
            </exclusions>
        </dependency>

本文由傻鸟发布,不代表傻鸟立场,转载联系作者并注明出处:https://shaniao.net/java/331.html

加载中~

联系我们

在线咨询:点击这里给我发消息

微信号:

工作日:10:30-15:30,节假日休息