网关的功能
1.身份认证,权限的校验。
2.服务的路由,负载均衡。用户请求被分配到哪一个微服务。一个微服务可以有多个实例,所以使用负载均衡。
3.请求限流。
springcloud网关实现有两种:gateway, zuul
zuul是基于servlet实现的,属于阻塞式编程。
springCloudGateway是基于Spring5中提供的WebFlux,属于响应式编程,具有更好的性能。
搭建网关服务
创建一个路由服务module-> gateway,注册到nacos.
1.引入依赖
<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>