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

微服务网关初体验

概念

微服务网关是微服务架构中的前端门户,它提供了一个统一的入口点,方便客户端访问和调用多个微服务。作为介于客户端和服务器端之间的中间层,微服务网关负责处理所有外部请求,并根据路由规则将其转发到相应的内部服务。

架构

在这里插入图片描述

依赖

网关也是一个微服务 。
引入网关依赖,服务注册发现依赖,网关微服务不需要web相关的依赖

路由

写死版

  • yml文件配置
    在这里插入图片描述
  • 硬编码
    在这里插入图片描述

根据微服务名动态路由

在这里插入图片描述

断言

Predicate就是根据规则去匹配路由
如果有多个路由符合规则,网关会按照配置文件的顺序从上往下匹配,匹配到就返回;进入过滤链过滤

设置路由多久生效

在这里插入图片描述

要求携带cookie

在这里插入图片描述

要求请求头参数符合正则表达式

在这里插入图片描述

剩余

在这里插入图片描述

过滤

有过滤链,可以在前后插入逻辑,比如鉴权、日志、限流。

自定义过滤器

创建过滤器类,实现GlobalFilter,Ordered接口,加组件注解。order的值越小,优先级越高。
在这里插入图片描述

一个请求进入微服务的流程

一个请求从客户端发来,首先进入nginx反向代理,会进行初步负载均衡等,然后到网关,网关是客户端请求的统一入口,负责根据配置找到具体处理的微服务名(先经过断言匹配路由,再经过过滤器),然后去注册中心获取该服务可用的实例(或者网关定时拉取服务可用列表),然后根据负载均衡算法选一个实例发送请求。请求到了微服务A之后,可能需要调用服务B,这个时候服务A向注册中心发送一个服务调用请求,一般包含服务名,注册中心返回能用的服务B实例列表,服务A根据负载均衡算法,选择一个服务B实例发送请求。
微服务之间如果请求失败,负载均衡组件可能还有重试机制,提高了服务的容错性。如ribbon
网关也有重试机制,并且网关还可以实现反向代理,鉴权,限流,熔断,日志监控等
服务A请求服务B的某个实例的时候会尝试建立连接,有可能建立连接超时,服务A就知道该实例不可用,然后根据负载均衡请求另一个实例。如果一个可用的服务都没有,会返回服务不可用提示,而不会返回404.


http://www.kler.cn/a/445443.html

相关文章:

  • 火山引擎发布数据飞轮 2.0,AI 重塑企业数据消费
  • Oracle 查询表占用空间(表大小)的方法
  • 2024年华为OD机试真题-字符串分割-C++-OD统一考试(E卷)
  • 简单工厂模式和策略模式的异同
  • SQL语句整理五-StarRocks
  • unity 最小后监听键盘输入
  • 【Java基础面试题025】什么是Java的Integer缓存池?
  • C++ 字符串(string)使用
  • Unity-Editor扩展GUI基本实现一个可拖拉放的格子列表
  • 32单片机串口数据接收、空闲IDLE中断详解
  • 【渗透技术总结】SQL手工注入总结
  • SQL进阶技巧:如何根据工业制程参数计算良品率?
  • 【学习笔记】深入浅出详解Pytorch中的View, reshape, unfold,flatten等方法。
  • hadoop技术栈的基本启停命令
  • C05S12-MySQL数据库事务
  • Day9 神经网络的偏导数基础
  • bacnet4j-5.0.2.jar资源
  • AI加持,如何让PPT像开挂一键生成?
  • 前端开发 详解 Node. js 都有哪些全局对象?
  • C# OpenCV机器视觉:图像分割(让照片中的物体各自“安家”!)
  • WebMvcConfigurer和WebMvcConfigurationSupport(MVC配置)
  • 谷歌发布最强量子芯片Willow
  • 【数理统计】参数估计
  • UE5 做简单的风景观光视频
  • VSCode常见报错:unins000.exe
  • 智驭时空 聚势未来│视频孪生产品技术交流会深圳专场隆重举行