POM文件依賴
<dependencies>
? ? <dependency>
? ? ? ? <groupId>org.springframework.boot</groupId>
? ? ? ? <artifactId>spring-boot-starter</artifactId>
? ? </dependency>
? ? <!--gateway fhadmin.org-->
? ? <dependency>
? ? ? ? <groupId>org.springframework.cloud</groupId>
? ? ? ? <artifactId>spring-cloud-starter-gateway</artifactId>
? ? ? ? <version>3.0.2</version>
? ? </dependency>
? ? <!--spring-boot fhadmin.org-->
? ? <dependency>
? ? ? ? <groupId>org.springframework.boot</groupId>
? ? ? ? <artifactId>spring-boot-starter-test</artifactId>
? ? ? ? <scope>test</scope>
? ? </dependency>
</dependencies>
我在父組件中加入的nacos的相關(guān)依賴如下:
<dependency>
? ? <groupId>com.alibaba.cloud</groupId>
? ? <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
? ? <version>${nacos.version}</version>
</dependency>
<!--alibaba fhadmin.org-->
<dependency>
? ? <groupId>com.alibaba.cloud</groupId>
? ? <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
? ? <version>${nacos.version}</version>
</dependency>
nacos的版本如下:
<properties>
? ? <nacos.version>2021.1</nacos.version>
</properties>
gateway的application.yml文件配置如下:
#fhadmin.org
server:
? port: 9040
spring:
? application:
? ? name: gateway
? cloud:
? ? gateway:
? ? ? routes:
? ? ? ? - id: consumer
? ? ? ? ? uri: lb://consumer
? ? ? ? ? #? ? ? ? ? uri: http://localhost:9010
? ? ? ? ? predicates:
? ? ? ? ? ? - Path=/**
? ? nacos:
? ? ? discovery:
? ? ? ? server-addr: localhost:8848
? ? ? ? metadata:
? ? ? ? ? preserved.heart.beat.interval: 3 #心跳間隔馍刮。時間單位:秒食店。心跳間隔
? ? ? ? ? preserved.heart.beat.timeout: 6 #心跳暫停。時間單位:秒当娱。 即服務(wù)端6秒收不到客戶端心跳畅涂,會將該客戶端注冊的實例設(shè)為不健康:
? ? ? ? ? preserved.ip.delete.timeout: 9 #Ip刪除超時。時間單位:秒。即服務(wù)端9秒收不到客戶端心跳,會將該客戶端注冊的實例刪除:
當(dāng)我通過uri: http://localhost:9010去調(diào)用服務(wù)時大州,是可以調(diào)用的续语,但是當(dāng)我用uri lb://consumer時就無法調(diào)用服務(wù)垂谢,報錯503.
解決辦法是:
加入feign依賴。
<dependencies>
? ? <dependency>
? ? ? ? <groupId>org.springframework.boot</groupId>
? ? ? ? <artifactId>spring-boot-starter</artifactId>
? ? </dependency>
? ? <dependency>
? ? ? ? <groupId>org.springframework.cloud</groupId>
? ? ? ? <artifactId>spring-cloud-starter-gateway</artifactId>
? ? ? ? <version>3.0.2</version>
? ? </dependency>
? ? <!--fegin組件 fhadmin.org-->
? ? <dependency>
? ? ? ? <groupId>org.springframework.cloud</groupId>
? ? ? ? <artifactId>spring-cloud-starter-openfeign</artifactId>
? ? ? ? <version>3.0.2</version>
? ? </dependency>
? ? <!-- Feign Client for loadBalancing -->
? ? <dependency>
? ? ? ? <groupId>org.springframework.cloud</groupId>
? ? ? ? <artifactId>spring-cloud-loadbalancer</artifactId>
? ? ? ? <version>3.0.2</version>
? ? </dependency>
? ? <dependency>
? ? ? ? <groupId>org.springframework.boot</groupId>
? ? ? ? <artifactId>spring-boot-starter-test</artifactId>
? ? ? ? <scope>test</scope>
? ? </dependency>
</dependencies>
猜測原因:nacos兼容feign疮茄,feign集成ribbon滥朱,默認(rèn)實現(xiàn)負(fù)載均衡;或許是nacos不兼容springcloud gateway自帶的ribbon力试。