侧边栏壁纸
  • 累计撰写 101 篇文章
  • 累计创建 89 个标签
  • 累计收到 9 条评论

nacos + gateway 遇到的 No servers available for service:xxx 503的问题

bearjun
2021-05-16 / 1 评论 / 6 点赞 / 5,491 阅读 / 1,831 字 / 正在检测是否收录...
温馨提示:
本文最后更新于 2021-05-16,若内容或图片失效,请留言反馈。部分素材来自网络,若不小心影响到您的利益,请联系我们删除。

背景说明

最近在b站学习谷粒商城,到了nacos和gateway做网关,实现不同路由的转发,一直报错

开发环境说明一下(由于都是idea下一步下一步创建的,没太注意版本):
springboot:2.4.5
spring-cloud.version:2020.0.2
spring-cloud-alibaba.version:2.1.0.RELEASE

server:
  port: 88

spring:
  application:
    name: gulimail-gateway
  cloud:
    nacos:
      discovery:
        server-addr: 127.0.0.1:8848
    gateway:
      discovery:
        locator:
          enabled: true
      routes:
        - id: admin_route
          uri: lb://renren-fast
          predicates:
            - Path=/api/**
          filters:  # 这段过滤器和验证码有关,api内容缓存了/renren-fast,还得注意/renren-fast也注册到nacos中
            - RewritePath=/api/(?<segment>.*),/renren-fast/$\{segment}

就是利用断言加过滤的方式,把发送到http://localhost:88/api/xx的地址转到由nacos中的/renren-fast/xxx

出现问题

2021-05-16 23:33:15.565  WARN 22552 --- [ctor-http-nio-3] o.s.c.l.core.RoundRobinLoadBalancer      : No servers available for service: renren-fast
2021-05-16 23:33:15.673  WARN 22552 --- [ctor-http-nio-3] o.s.c.l.core.RoundRobinLoadBalancer      : No servers available for service: renren-fast

No servers available for service:xxxx,后台一直报错,一直503。
这个问题都困扰我一天了。

解决

检查版本、检查版本、检查版本,这个是很容易被忽略的。
各个版本对照表:
Spring Cloud Version|Spring Cloud Alibaba Version|Spring Boot Version
:--:|:--:|:--:
Spring Cloud Hoxton.SR3|2.2.1.RELEASE|2.2.5.RELEASE
Spring Cloud Hoxton.RELEASE|2.2.1.RELEASE|2.2.X.RELEASE
Spring Cloud Greenwich|2.1.2.RELEASE|2.1.X.RELEASE
Spring Cloud Finchley|2.0.2.RELEASE|2.0.X.RELEASE
Spring Cloud Edgware|1.5.1.RELEASE(停止维护,建议升级)|1.5.X.RELEASE

如果各项都检查没有没有,不妨通过检查版本试一下。

其他问题说明

  • 注意uri中lb后面的名称是否在nacos中注册成功,并且,lb后面的名称为nacos中注册中心的名称保持一致
  • 注意uri中lb后面的名称的书写规范名称。好像是不能用_(下划线),但是可以用 -(短横杠)
    原文地址:https://blog.csdn.net/weixin_41267342/article/details/111462594
  • 检查routes中的配置
  • 网上说添加依赖,完全不需要。版本选对后,删除以下依赖,亲测可以正常访问
  <dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-loadbalancer</artifactId>
</dependency>
<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-openfeign</artifactId>
</dependency>      
6

评论区