1、什么是服务网关

网关统一服务入口,可方便实现对平台众多服务接口进行管控,对访问服务的身份认证、防报文重放与防数据篡改、功能调用的业务鉴权、响应数据的脱敏、流量与并发控制,甚至基于API调用的计量或者计费等等。 网关 = 路由转发 + 过滤器
路由转发:接收一切外界请求,转发到后端的微服务上去;在服务网关中可以完成一系列的横切功能,例如权限校验、限流以及监控等,这些都可以通过过滤器完成

2.为什么需要网关

1.网关可以实现服务的统一管理 2.网关可以解决微服务中通用代码的冗余问题(如权限控制,流量监控,限流等)

3.网关组件在微服务中架构

image.png

4、gateway

https://spring.io/projects/spring-cloud-gateway

This project provides a library for building an API Gateway on top of Spring MVC. Spring Cloud Gateway aims to provide a simple, yet effective way to route to APIs and provide cross cutting concerns to them such as: security, monitoring/metrics, and resiliency.

这个项目提供了一个在springmvc之上构建API网关的库。springcloudgateway旨在提供一种简单而有效的方法来路由到api,并为api提供横切关注点,比如:安全性、监控/度量和弹性。

基于springboot2.x 和 spring webFlux 和 Reactor 构建 响应式异步非阻塞IO模型

  • 动态路由
  • 请求过滤

4.1 pom.xml 文件