A função de SpringCloudGateway:
1. A solicitação é primeiro interceptada pelo módulo gateway da aplicação. Após o módulo gateway autenticar a solicitação e restringir a corrente, ele encaminha a solicitação específica para o módulo correspondente da aplicação atual para processamento. Em suma: o gateway é o responsável para a solicitação Roteie para o serviço de back-end específico.
1. Crie um novo projeto Springboot, adicione o seguinte conteúdo ao 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. Modifique o arquivo de 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. Adicione informações de configuração no cônsul
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. Inicie o serviço (se o terminal solicitar que você remova a dependência spring-boot-starter-web, apenas comente a dependência correspondente no pom)
Em seguida, visite localhost: 8090 / tobaidu para pular para a página do Baidu
Visite também localhost: 8090 / tocsdn para ir para a página csdn