网关的基本路由功能。基本步骤如下:
1.创建网关微服务 ,引入网关依赖
pom.xml
<!--网关-->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-gateway</artifactId>
</dependency>
<!-- nacos客户端 -->
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>
2.编写基础配置和路由规则
application.yml
server:
# 网关端口
port: 7001
spring:
application:
name: gateway
cloud:
nacos:
server-addr: localhost:8848
discovery:
cluster-name: SZ
namespace: devNamespaceId
gateway:
# 网关路由配置
routes:
- id: user-service # 路由id,自定义,只要唯一即可
# uri: http://127.0.0.1:18080 # 路由的目标地址 http就是固定地址
uri: lb://tanzh-user # 路由的目标地址 lb就是负载均衡,后面跟服务名称
predicates: # 路由断言,也就是判断请求是否符合路由规则的条件
- Path=/user/** # 这个是按照路径匹配,只要以/path/开头就符合要求
3.编写启动类
GatewayApplication.java
@SpringBootApplication
public class GatewayApplication {
public static void main(String[] args) {
SpringApplication.run(GatewayApplication.class, args);
}
}
4.测试
先启动用户微服务(tanzh-user),再启动网关微服务(gateway):
http://localhost:7001/user/xxx