Chinaunix首页 | 论坛 | 博客
  • 博客访问: 615602
  • 博文数量: 298
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 3077
  • 用 户 组: 普通用户
  • 注册时间: 2019-06-17 10:57
文章分类

全部博文(298)

文章存档

2022年(96)

2021年(201)

2019年(1)

我的朋友

分类: Java

2021-09-08 12:11:08

POM文件依赖

点击(此处)折叠或打开

  1. <dependencies>
  2.     <dependency>
  3.         <groupId>org.springframework.boot</groupId>
  4.         <artifactId>spring-boot-starter</artifactId>
  5.     </dependency>
  6.     <!--gateway fhadmin.org-->
  7.     <dependency>
  8.         <groupId>org.springframework.cloud</groupId>
  9.         <artifactId>spring-cloud-starter-gateway</artifactId>
  10.         <version>3.0.2</version>
  11.     </dependency>
  12.     <!--spring-boot fhadmin.org-->
  13.     <dependency>
  14.         <groupId>org.springframework.boot</groupId>
  15.         <artifactId>spring-boot-starter-test</artifactId>
  16.         <scope>test</scope>
  17.     </dependency>
  18. </dependencies>


我在父组件中加入的nacos的相关依赖如下:

点击(此处)折叠或打开

  1. <dependency>
  2.     <groupId>com.alibaba.cloud</groupId>
  3.     <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
  4.     <version>${nacos.version}</version>
  5. </dependency>
  6. <!--alibaba fhadmin.org-->
  7. <dependency>
  8.     <groupId>com.alibaba.cloud</groupId>
  9.     <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
  10.     <version>${nacos.version}</version>
  11. </dependency>


nacos的版本如下:

点击(此处)折叠或打开

  1. <properties>
  2.     <nacos.version>2021.1</nacos.version>
  3. </properties>


gateway的application.yml文件配置如下:

点击(此处)折叠或打开

  1. #fhadmin.org
  2. server:
  3.   port: 9040

  4. spring:
  5.   application:
  6.     name: gateway
  7.   cloud:
  8.     gateway:
  9.       routes:
  10.         - id: consumer
  11.           uri: lb://consumer
  12.           # uri: http://localhost:9010
  13.           predicates:
  14.             - Path=/**
  15.     nacos:
  16.       discovery:
  17.         server-addr: localhost:8848
  18.         metadata:
  19.           preserved.heart.beat.interval: 3 #心跳间隔。时间单位:秒。心跳间隔
  20.           preserved.heart.beat.timeout: 6 #心跳暂停。时间单位:秒。 即服务端6秒收不到客户端心跳,会将该客户端注册的实例设为不健康:
  21.           preserved.ip.delete.timeout: 9 #Ip删除超时。时间单位:秒。即服务端9秒收不到客户端心跳,会将该客户端注册的实例删除:


当我通过uri: 去调用服务时,是可以调用的,但是当我用uri lb://consumer时就无法调用服务,报错503.


解决办法是:
加入feign依赖。

点击(此处)折叠或打开

  1. <dependencies>
  2.     <dependency>
  3.         <groupId>org.springframework.boot</groupId>
  4.         <artifactId>spring-boot-starter</artifactId>
  5.     </dependency>

  6.     <dependency>
  7.         <groupId>org.springframework.cloud</groupId>
  8.         <artifactId>spring-cloud-starter-gateway</artifactId>
  9.         <version>3.0.2</version>
  10.     </dependency>

  11.     <!--fegin组件 fhadmin.cn-->
  12.     <dependency>
  13.         <groupId>org.springframework.cloud</groupId>
  14.         <artifactId>spring-cloud-starter-openfeign</artifactId>
  15.         <version>3.0.2</version>
  16.     </dependency>
  17.     <!-- Feign Client for loadBalancing -->
  18.     <dependency>
  19.         <groupId>org.springframework.cloud</groupId>
  20.         <artifactId>spring-cloud-loadbalancer</artifactId>
  21.         <version>3.0.2</version>
  22.     </dependency>

  23.     <dependency>
  24.         <groupId>org.springframework.boot</groupId>
  25.         <artifactId>spring-boot-starter-test</artifactId>
  26.         <scope>test</scope>
  27.     </dependency>
  28. </dependencies>


猜测原因:nacos兼容feign,feign集成ribbon,默认实现负载均衡;或许是nacos不兼容springcloud gateway自带的ribbon。


阅读(767) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~