SpringCloud(三)—— Gateway(网关服务)

SpringCloudGateway的作用:

1.请求是先被应用的网关模块拦截的,网关模块对请求进行鉴权、限流等动作后在把具体的请求转发到当前应用对应的模块进行处理,简而言之:网关负责把请求路由到具体的后端service上。

           

1.新建一个Springboot项目,pom中新增如下内容

        <!--用于gateway,下载spring WebFlux时总是下载不好,采用去网站下载并导入maven仓库的方式,然后重新导入依赖语句即可-->
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-gateway</artifactId>
            <version>2.2.3.RELEASE</version>
        </dependency>
        <!--用于被consul发现-->
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-consul-discovery</artifactId>
            <version>2.2.3.RELEASE</version>
        </dependency>
        <!--把consul作为配置中心-->
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-consul-config</artifactId>
            <version>2.2.3.RELEASE</version>
        </dependency>
        <!--actuator是监控系统健康情况的工具-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-actuator</artifactId>
        </dependency>

2.修改bootstrap文件

server:
  port: 8090

spring:
  application:
    name: gateway
  cloud:
    consul:
      host: localhost
      port: 8500
      discovery:
        service-name: ${spring.application.name}
      config:
        enabled: true
        format: yaml
        default-context: ${spring.application.name}
        prefix: config
        data-key: data

3.在consul中加入配置信息

spring:
  cloud:
    gateway:
      discovery:
        locator:
          enabled: true
          lower-case-service-id: true
      routes:
        - id: gateway-service #路由唯一id
          uri: https://www.baidu.com
          predicates:
            - Path=/tobaidu/**
        - id: gateway-service2
          uri: https://www.csdn.net
          predicates:
            - Path=/tocsdn/**
test:
  name: 1234

4.启动服务(如果终端提示你需要去掉spring-boot-starter-web依赖,则把pom中对应的依赖注释掉即可)

然后访问 localhost:8090/tobaidu 即可跳转到百度页面

同样 访问 localhost:8090/tocsdn 即可跳转到csdn页面

猜你喜欢

转载自blog.csdn.net/hzkcsdnmm/article/details/108243175