文章目录
- 1.网关
- 2.总结
-
- 市场主流微服务网关(Spring Cloud Gateway,zuul(奈菲),…)
- API Gateway中基于自定义限流结果的处理
- 为什么要使用api网关?
- 网关项目中的负载均衡是如何实现?
- 网关中的谓词对象类型?
- 网关层面的限流类型有哪些?
- 网关层面是如何实现负载均衡的?
- 网关层面是如何通过服务名查找服务实例的?
- 负载均衡算法有哪些?
- url和uri
- @FunctionalInterface注解
- “::”
- 转JSON字符串的方法
- Gateway执行流程
- 断言工厂
- 网关过滤器的作用是什么?
- 网关过滤器的类型有哪些?
- 局部过滤器?
- GlobalFilter:全局过滤器
- 如何定义全局过滤器?
- ZonedDateTime.now() 获取时区时间
- Ribbon组件中提供了IRule接口及相关实现
1.网关
1.1背景
一个大型系统在设计时,经常会被拆分为很多个微服务。那么作为客户端要如何去调用 这么多的微服务呢?客户端可以直接向微服务发送请求,每个微服务都有一个公开的URL,该URL可以直接映射到具体的微服务,如果没有网关的存在,我们只能在客户端记录每个微服务的地址,然后分别去调用。这样的架构,会存在着诸多的问题,例如,客户端请求不同的微服务可能会增加客户端代码或配置的复杂性。还有就是每个服务,在调用时都需要独立认证。并且存在跨域请求,也在一定程度上提高了代码的复杂度。基于微服务架构中的设计及实现上的问题,为了在项目中简化前端的调用逻辑,同时也简化内部服务之间互相调用的复杂度,更好保护内部服务,提出了网关的概念。
1.2概念
网关本质上要提供一个各种服务访问的入口,并提供服务接收并转发所有内外部的客户端调用,还有就是权限认证,限流控制等等。Spring Cloud Gateway是Spring公司基于Spring 5.0,Spring Boot 2.0 和 等技术开发的一个网关组件,它旨在为微服务架构提供一种简单有效的统一的 API入口,负责服务请求路由、组合及协议转换,并且基于 Filter 链的方式提供了权限认证,监控、限流等功能.
1.3负载均衡
网关才是服务访问的入口,所有服务都会在网关层面进行底层映射,所以在访问服务时,要基于服务serivce id