SpringCloud——服务网关——GateWay

1.GateWay是什么?

gateway也叫服务网关,SpringCloud GateWay使用的是Webflux 中的reactor-netty 响应式编程组件,底层使用了Netty通讯框架。

gateway的功能有反向代理、鉴权、流量控制、熔断、日志监控......

2.为什么不使用Zuul?

当时Zuul2.0迟迟不发布是一个原因,关键点是Zuul1.X是一个阻塞式的网关,不支持任何长连接,请求线程一直要被阻塞到工作线程一直结束,所以Zuul1.X的性能较差。而Zuul2.0又一直跳票,所以SpringCloud就子研了GateWay网关,功能强大,并且是异步非阻塞的。

3.GateWay的三大核心概念

  • Route(路由)

    GateWay配置的动态路由lb,也有负载均衡,可以去匹配提供服务的路由地址。

  • Predicate(断言)

    说白了,断言就是定义了一组匹配规则,让过来的请求根据断言匹配找到相对应的路由然后进行转发。

  • Filter(过滤)

我们都是使用自定义过滤器,可以进行一些全局日志记录,统一网关鉴权.........

4.请求到网关的运行流程

yml里面进行配置后,请求的基本流程就是先经过断言规则匹配,去找相对应的路由,如果对,则根据路由中的uri地址+接口进行路由转发,转发中还会通过过滤器(可以进行一些验证等等)。

相关推荐
paopaokaka_luck3 小时前
基于Springboot3+Vue3的高校选课系统(AI选课助手、协同过滤算法、分享到微博、扣扣、Echarts图形化分析)
网络·spring boot·网络协议·echarts
nvd114 小时前
基于 ArgoCD 优雅落地 K8s Gateway API 与 Kong 控制器(KIC)
kubernetes·gateway·argocd
小Ti客栈5 小时前
Spring Boot 整合 Swagger2 和 Knife4j实现接口文档与可视化调试
java·spring boot·后端
2601_963870176 小时前
【计算机毕业设计】基于Spring Boot的社区老年大学课程报名与学习系统的设计与实现
java·spring boot·学习
weixin_BYSJ19877 小时前
springboot3家政平台小程序--附源码00904
java·javascript·spring boot·python·django·flask·php
凤山老林7 小时前
SpringBoot 3 启用 spring.factories 后如何升级替换原有的 spring.factories ?
spring boot·后端·spring
啊啊啊迈 旋棍9 小时前
生态整合与实战篇:Spring Boot 整合 RocketMQ 完全指南
spring boot·rocketmq·java-rocketmq
减瓦10 小时前
Jackson 使用指南
java·spring boot·json
旺仔学长 哈哈10 小时前
基于SpringBoot的在线招聘测评系统的设计与实现----附源码35253+数据库文档
数据库·spring boot·后端·在线招聘
万亿少女的梦16811 小时前
基于Spring Boot的乐助在线助农系统设计与实现
java·spring boot·mysql·敏感词过滤·助农系统