当前位置: 首页 > news >正文

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

相关文章:

  • 关于electron打包卡在winCodeSign下载问题
  • sql学习笔记(三)
  • menuTreeRef.value?.getCheckedKeys(true) as string[]
  • mysql根据条件导出表数据(`--where=“文本“`)
  • vue 项目的屏幕自适应方案
  • wpf Grid布局详解 `Auto` 和 `*` 是两种常见的设置方式 行或列占多个单元格,有点像excel里的合并单元格。使其余的列平均分配剩余的空间
  • C# set的一些使用方法
  • 提升ChatGPT答案质量和准确性的方法Prompt专家
  • react_11
  • 消息中间件-RabbitMQ介绍
  • 机器人伺服驱动控制环
  • python爬虫(数据获取——selenium)
  • 【css】sass中的模块化
  • Jmeter_逻辑控制器
  • JavaScript继承的几种方式
  • 「前端早读君006」移动开发必备:那些玩转H5的小技巧
  • AzureCon上微软宣布了哪些容器相关的重磅消息
  • Bytom交易说明(账户管理模式)
  • ES2017异步函数现已正式可用
  • Git同步原始仓库到Fork仓库中
  • leetcode-27. Remove Element
  • Magento 1.x 中文订单打印乱码
  • React-redux的原理以及使用
  • SpingCloudBus整合RabbitMQ
  • Vue学习第二天
  • 初识 webpack
  • 缓存与缓冲
  • 猫头鹰的深夜翻译:Java 2D Graphics, 简单的仿射变换
  • 前端 CSS : 5# 纯 CSS 实现24小时超市
  • 前嗅ForeSpider教程:创建模板
  • 如何抓住下一波零售风口?看RPA玩转零售自动化
  • 吐槽Javascript系列二:数组中的splice和slice方法
  • 问题之ssh中Host key verification failed的解决
  • 责任链模式的两种实现
  • 主流的CSS水平和垂直居中技术大全
  • 如何通过报表单元格右键控制报表跳转到不同链接地址 ...
  • ​DB-Engines 12月数据库排名: PostgreSQL有望获得「2020年度数据库」荣誉?
  • ​html.parser --- 简单的 HTML 和 XHTML 解析器​
  • #define MODIFY_REG(REG, CLEARMASK, SETMASK)
  • #LLM入门|Prompt#3.3_存储_Memory
  • (10)ATF MMU转换表
  • (23)Linux的软硬连接
  • (C语言版)链表(三)——实现双向链表创建、删除、插入、释放内存等简单操作...
  • (ZT)北大教授朱青生给学生的一封信:大学,更是一个科学的保证
  • (二)hibernate配置管理
  • (附源码)spring boot儿童教育管理系统 毕业设计 281442
  • (简单有案例)前端实现主题切换、动态换肤的两种简单方式
  • (亲测成功)在centos7.5上安装kvm,通过VNC远程连接并创建多台ubuntu虚拟机(ubuntu server版本)...
  • (一)搭建springboot+vue前后端分离项目--前端vue搭建
  • (原創) 如何動態建立二維陣列(多維陣列)? (.NET) (C#)
  • (转)Android学习系列(31)--App自动化之使用Ant编译项目多渠道打包
  • .desktop 桌面快捷_Linux桌面环境那么多,这几款优秀的任你选
  • .net core webapi 部署iis_一键部署VS插件:让.NET开发者更幸福
  • .NET Core 项目指定SDK版本
  • .NET Micro Framework初体验(二)