0
点赞
收藏
分享

微信扫一扫

Spring Cloud Gateway示例


1,首先,修改 pom.xml 文件,引入依赖。

<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-gateway</artifactId>
</dependency>
<!--注册与发现-->
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>
<!--配置中心-->
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-alibaba-dependencies</artifactId>
<version>2.1.0.RELEASE</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-dependencies</artifactId>
<version>${spring-cloud.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>

2,在应用的 /src/main/resources/bootstrap.properties 配置文件中配置 Nacos Config 元数据

spring.application.name=mall-gateway
server.port=88
spring.cloud.nacos.config.server-addr=127.0.0.1:8848
spring.cloud.nacos.discovery.server-addr=127.0.0.1:8848
spring.cloud.nacos.config.namespace=79fd1277-a69d-4c56-a837-b4cc9b9557e2
spring.cloud.nacos.config.group=dev

3,在应用的 /src/main/resources/application.yml 配置

spring:
cloud:
routes:
- id: baidu_route
uri: https://www.baidu.com # http://localhost:88/?url=baidu
predicates:
- Query=url,baidu

- id: qq_route
uri: https://www.qq.com # http://localhost:88/?url=qq
predicates:
- Query=url,qq

4,启动类开启 @EnableDiscoveryClient 注解

@SpringBootApplication
@EnableDiscoveryClient
public class ProviderApplication {
public static void main(String[] args) {
SpringApplication.run(ProviderApplication.class, args);
}
}

5,把配置搬到NACOS,新建如下

Spring Cloud Gateway示例_数据库

PS,如果出现如下数据库错误,是因为引入mybatis又没配置yml。

Spring Cloud Gateway示例_spring cloud_02

解决方案,在启动类排除数据库相关类,或者不引入总依赖

@SpringBootApplication(exclude = {DataSourceAutoConfiguration.class})
@EnableDiscoveryClient
public class MallGatewayApplication {
public static void main(String[] args) {
SpringApplication.run(MallGatewayApplication.class, args);
}
}

Spring Cloud Gateway 与zuul Linkerd , RPS对比

Spring Cloud Gateway示例_spring cloud_03



举报

相关推荐

0 条评论