0


关于spring cloud gateway中出现503 Service Unavailable的问题

1.引用spring cloud gateway+nacos配置中心

2.微服务+分布式(本节与分布式问题无关)项目

3.路由规则:网关端口:8085;第三方端口:8081,8086

第三方单独访问路径localhost:8081/test/getUserTest?id=2

希望路由到:localhost:consumer-service/test/getUserTest?id=2 (这里我写了两个消费者服务,服务名一致 ) 然后再通过openfeign去访问服务提供者localhost:provider-service/user/getUser?id=2((这里我写了3个服务提供者服务,服务名一致)

(8085是网关层的端口,8081,8086是消费者端口,8082,8083,8084是服务提供者端口)

问题当我访问gateway的时候会出现如下界面

我通过postman访问也是一样的结果 这里就不贴图了

报错503,能肯定的是服务器的问题

当我通过端口,跳过网关路由直接访问其中一个消费者的时候,访问一切正常

我在网上寻找方法 大都是说注册在nacos上面的消费者服务名和配置中gateway的服务名不一致导致的(当然这种情况也是存在的),那么查看配置文件中的配置的服务名和注册中心的名字进行对比

通过上面两张图片可以发现 我在配置文件中配置的消费者服务名称和注册中心的名称一致,所以并不是写错服务名称的原因。

后面想到是不是因为我的消费者服务有多个的原因,有没有可能是我没有添加负载均衡的依赖的原因呢?

然后我就在pom文件中添加了负载均衡的依赖

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

然后重新启动 访问网关层 结果如下能够正常访问到数据了

结果中的port是服务提供者的端口,consumerPort是消费者服务的端口 可以发现 进入网关后负载均衡的调用了消费者服务,然后又通过openfeign负载均衡的访问了提供者服务,至此问题得到解决

标签: gateway

本文转载自: https://blog.csdn.net/m0_71666771/article/details/128902792
版权归原作者 一只不会飞的猴子 所有, 如有侵权,请联系我们删除。

“关于spring cloud gateway中出现503 Service Unavailable的问题”的评论:

还没有评论