目录
3.5.1、新建bootstrap.properties文件
3.5.3、在gateway的命名空间中新建配置LeesonShop-gateway.yml
前言
发送请求需要知道商品服务的地址,如果商品服务器有100台服务器,1号掉线后,还得改,所以需要网关动态地管理,他能从注册中心中实时地感知某个服务上线还是下线。
请求也要加上询问权限,看用户有没有权限访问这个请求,也需要网关。
所以我们使用spring cloud的gateway组件做网关功能。
一、简介
网关作为流量的入口,常用功能包括路由转发、权限校验、限流控制等。而 springcloud gateway 作为 SpringCloud 官方推出的第二代网关框架,取代了 Zuul 网关。网关提供 API 全托管服务,丰富的 API 管理功能,辅助企业管理大规模的 API ,以降低管理成本和安全风险,包括协议适配、协议转发、安全策略、防刷、流量、监控日志等功能。Spring Cloud Gateway 旨在提供一种简单而有效的方式来对 API 进行路由,并为他们提供切面,例如:安全性,监控 / 指标 和弹性等。官方文档地址: https://cloud.spring.io/spring-cloud-static/spring-cloud-gateway/2.1.3.RELEASE/single/spring-cloud-gateway.html
Spring Cloud Gateway
特点
:
1. 基于 Spring5 ,支持响应式编程和 SpringBoot2.02. 支持使用任何请求属性进行路由匹配3. 特定于路由的断言和过滤器4. 集成 Hystrix 进行断路保护5. 集成服务发现功能6. 易于编写 Predicates 和 Filters7. 支持请求速率限制8. 支持路径重写
为什么使用
API
网关?
API 网关出现的原因是微服务架构的出现,不同的微服务一般会有不同的网络地址,而外部客户端可能需要调用多个服务的接口才能完成一个业务需求,如果让客户端直接与各个微服务通信,会有以下的问题:
1、客户端会多次请求不同的微服务,增加了客户端的复杂性。2、存在跨域请求,在一定场景下处理相对复杂。
3、认证复杂,每个服务都需要独立认证。 </