目录
百战程序员,全站22050+开发课程+文档 ,学习精选优质好课快人一步!观看视频 快捷键ALT+N

JAVA全系列 教程

3762个小节阅读:7091.4k

收藏
全部开发者教程

C语言快速入门

JAVA全系列 教程

面向对象的程序设计语言

Python全系列 教程

Python3.x版本,未来主流的版本

人工智能 教程

顺势而为,AI创新未来

大厂算法 教程

算法,程序员自我提升必经之路

C++ 教程

一门通用计算机编程语言

微服务 教程

目前业界流行的框架组合

web前端全系列 教程

通向WEB技术世界的钥匙

大数据全系列 教程

站在云端操控万千数据

AIGC全能工具班

A

A A

White Night

阅读(274)
赞(0)

Gateway网关概念介绍

image-20230317092022798

网关是微服务架构中的重要组成部分,局域网也有网关的概念,局域网中的网关是一个网络连接到另一个网络的“关口”,也就是网络关卡。微服务中的网关是一个系统,通过暴露该微服务网关系统,方便我们进行相关的鉴权,安全控制,日志统一处理,易于监控等功能。

网关在微服务系统中的位置

image-20230317101108970

Spring Cloud Gateway是Spring Cloud体系中的新项目,目标是取代Netflix的Zuul,Spring Cloud Gateway不仅提供统一的路由方式(反向代理)并且基于 Filter(定义 过滤器对请求过滤,完成一些功能) 链的方式提供了网关基本的功能,例如:鉴权、 流量控制、熔断、路径重写、日志监控等。

Gateway核心概念

Zuul1.x 基于阻塞式IO,2.x 基于Netty。

Spring Cloud Gateway天生就是异步非阻塞的,基于Reactor模型。一个请求--->网关根据⼀定的条件匹配,匹配成功之后可以将请求转发到指定的服务地址;在这个过程中,我们可以进行一些比较具体的控制(限流、日志、黑白名单)。

  • 路由(route):网关最基础的部分,也是网关比较基础的工作单元。路由由一个ID、一个目标URL(最终路由到的地址)、⼀系列的断言(匹配条件判断)和 Filter过滤器(精细化控制)组成。如果断言为true,则匹配该路由。
  • 断言(predicates):参考了Java8中的断言--java.util.function.Predicate,开发人员可以匹配Http请求中的所有内容(包括请求头、请求参数等)(类似于 nginx中的location匹配⼀样),如果断言与请求相匹配则路由至目标地址。
  • 过滤器(filter):一个标准的Spring webFilter,使用过滤器,可以在请求之前或者之后执行业务逻辑。

来自Spring Cloud官网的图片

image-20230317115217587

其中,Predicates断言就是要匹配的条件,Filter可以理解为⼀个无所不能的拦截器,有了这两个元素,结合目标URL,就可以实现一个具体的路由转发。

 

北京市昌平区回龙观镇南店村综合商业楼2楼226室

©2014-2023 百战卓越(北京)科技有限公司 All Rights Reserved.

京ICP备14032124号-2