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地址+接口进行路由转发,转发中还会通过过滤器(可以进行一些验证等等)。

相关推荐
披着羊皮不是狼31 分钟前
多用户跨学科交流系统(4)参数校验+分页搜索全流程的实现
java·spring boot
q***318936 分钟前
当遇到 502 错误(Bad Gateway)怎么办
gateway
ruleslol1 小时前
SpringCloud03-Eureka02-搭建Eureka服务
spring cloud·eureka
q***23921 小时前
基于SpringBoot和PostGIS的云南与缅甸的千里边境线实战
java·spring boot·spring
q***78781 小时前
Spring Boot的项目结构
java·spring boot·后端
百***17072 小时前
Spring Boot spring.factories文件详细说明
spring boot·后端·spring
Q_Q5110082852 小时前
python+django/flask的宠物用品系统vue
spring boot·python·django·flask·node.js·php
whltaoin2 小时前
【Java 微服务中间件】RabbitMQ 全方位解析:同步异步对比、SpringAMQT基础入门、实战、交换机类型及消息处理详解
spring boot·微服务·中间件·rabbitmq·spring amqt
百***35513 小时前
什么是Spring Boot 应用开发?
java·spring boot·后端
朝新_4 小时前
【统一功能处理】SpringBoot 统一功能专题:拦截器、数据封装、异常处理及 DispatcherServlet 源码初探
java·spring boot·后端·spring·javaee