微服务网关篇 Spring Cloud Gateway
网关简介
- 什么是网关
- 它就像一栋房子的大门,对外暴露其地址而隐藏内部的服务实现细节。是程序的唯一入口。
- 为什么使用网关
- 一个客户端的请求(Web端、手机端,App等)需要调用多个微服务才能做出正确的响应,它们的域名或url都不尽相同,配置起来相当繁琐,网关就是解决这些问题的
Gateway简介及特点
- 简介:它提供了一个用于在Spring WebFlux之上构建API网关的库,致力于提供简单,有效的路由API并为它们提供跨领域的关注点例如:安全性、监视/指标、限流。
- 特点:
- 基于Spring Framework 5.x, Project Reactor和Spring Boot 2.x.
- 能够匹配任何请求属性
- 可以针对性的做Predicates (断言)和过滤
- 集成断路器
- 集成服务发现
- 断言和过滤器书写起来非常简单
- 限流以及路径重写等等
入门小Demo
-
IDEA创建SpringBoot项目并引入依赖
-
在启动类提供一个Bean
@SpringBootApplication public class GatewayApplication { public static void main(String[] args) { SpringApplication.run(GatewayApplication.class, args); } @Bean public RouteLocator myRoutes(RouteLocatorBuilder builder) { return builder.routes() .route