前言
SpringCloud网关实现:
- Gateway
- zuul
Zuul基于Servlet实现,为阻塞式编程,Gateway基于Spring5中的WebFlux,底层使用Netty,为响应式编程,性能更好。
提示:以下是本篇文章正文内容,下面案例可供参考
一、Gateway相关依赖
Gateway也属于微服务的范畴,所以也需要注册到服务中心。
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-gateway</artifactId>
<version>2.2.5.RELEASE</version>
</dependency>
二、yaml文件配置
spring:
application:
name: gateway
cloud:
gateway:
routes:
#路由id唯一指定,一般是服务名
- id: user
# 路由目标地址
# lb负载均衡,后面接服务名
uri: lb://user
#断言:编程术语,为布尔表达式,判断请求是否符合
predicates:
- Path=/user-service/**
filters:
- StripPrefix=1
- id: order
uri: lb://order
predicates:
- Path=/order-service/**
filters:
# 去除地址的第一个地址,也就是将order-service从地址中去除(http://ip:port/order-service后的地址),不然访问到服务会404
- StripPrefix=1
总结
本章之作简单的介绍,详细在后面的博文。