统一路由网关,看得直接明白.
springAlibaba路由网关
- 什么是spring网关
- 网关的功能特征
- 实际操作
- 网关全局过滤
什么是spring网关
为微服务架构提供一种简单而有效的统一的 API 路由管理方式,不仅提供统一的路由方式,并且基于 Filter 链的方式提供了网关基本的功能,例如:安全,监控/埋点,和限流等。
网关的功能特征
- Predicates 和 Filters 作用于特定路由
- 集成 Hystrix 断路器
- 集成 Spring Cloud DiscoveryClient
- 易于编写的 Predicates 和 Filters
- 限流和路径重写
实际操作
新建项目pom.xml如下:
1 | <?xml version="1.0" encoding="UTF-8"?> |
注意:Spring Cloud Gateway 不使用 Web 作为服务器,而是 使用 WebFlux 作为服务器,Gateway 项目已经依赖了 starter-webflux,所以这里 千万不要依赖 starter-web,由于过滤器等功能依然需要 Servlet 支持,故这里还需要依赖 javax.servlet:javax.servlet-api
构建启动项目类
1 | @SpringBootApplication |
applcation.yml配置文件如下
1 | spring: |
依次启动服务提供者,2个消费者,以及网关
网关全局过滤
全局过滤器作用于所有的路由,不需要单独配置,我们可以用它来实现很多统一化处理的业务需求,比如权限认证,IP 访问限制等等.
构建一个filter
1 | package com.wwj.gateway.filter; |