JAVA全系列 教程
3762个小节阅读:7091.4k
目录
C语言快速入门
JAVA全系列 教程
面向对象的程序设计语言
Python全系列 教程
Python3.x版本,未来主流的版本
人工智能 教程
顺势而为,AI创新未来
大厂算法 教程
算法,程序员自我提升必经之路
C++ 教程
一门通用计算机编程语言
微服务 教程
目前业界流行的框架组合
web前端全系列 教程
通向WEB技术世界的钥匙
大数据全系列 教程
站在云端操控万千数据
AIGC全能工具班
A A
White Night
网关是微服务架构中的重要组成部分,局域网也有网关的概念,局域网中的网关是一个网络连接到另一个网络的“关口”,也就是网络关卡。微服务中的网关是一个系统,通过暴露该微服务网关系统,方便我们进行相关的鉴权,安全控制,日志统一处理,易于监控等功能。
网关在微服务系统中的位置
Spring Cloud Gateway是Spring Cloud体系中的新项目,目标是取代Netflix的Zuul,Spring Cloud Gateway不仅提供统一的路由方式(反向代理)并且基于 Filter(定义 过滤器对请求过滤,完成一些功能) 链的方式提供了网关基本的功能,例如:鉴权、 流量控制、熔断、路径重写、日志监控等。
Gateway核心概念
Zuul1.x 基于阻塞式IO,2.x 基于Netty。
Spring Cloud Gateway天生就是异步非阻塞的,基于Reactor模型。一个请求--->网关根据⼀定的条件匹配,匹配成功之后可以将请求转发到指定的服务地址;在这个过程中,我们可以进行一些比较具体的控制(限流、日志、黑白名单)。
java.util.function.Predicate
,开发人员可以匹配Http请求中的所有内容(包括请求头、请求参数等)(类似于 nginx中的location匹配⼀样),如果断言与请求相匹配则路由至目标地址。 来自Spring Cloud官网的图片
其中,Predicates断言就是要匹配的条件,Filter可以理解为⼀个无所不能的拦截器,有了这两个元素,结合目标URL,就可以实现一个具体的路由转发。