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

Spring Cloud之Zuul

目录

简介

Zuul中的过滤器

过滤器的执行流程

使用过滤器

route过滤器的默认三种配置

路由到服务

路由到url地址 

转发给自己

自定义过滤器


简介

Zuul是Netflix开源的微服务网关,主要功能是路由转发和过滤器,其原理也是一系列filters,这些filters可以帮我们实现以下功能:

  • 身份验证和安全性
  • 观察和监控
  • 动态路由
  • 负载均衡
  • 静态响应处理
  • 路由多样化

Zuul中的过滤器

Zuul一共有四种过滤器,分别是:
pre:在请求被路由之前调用,可利用这种过滤器鉴权。选择微服务,记录日志,限流。
route:在将请求路由到微服务调用,用于构建发送给微服务的请求,并用httpclinet ( 或者ribbon )请求微服务。
post:在调用微服务执行后。可用于添加header,记录日志,将响应发给客户端。
error:在其他阶段发生错误是,走此过滤器。

过滤器的执行流程

使用过滤器

route过滤器的默认三种配置

路由到服务

由RibbonRoutingFilter实现,以下配置表示当匹配到"/test/"路径的请求就转发到test-service服务

zuul:routes:test:path: /test/**serviceId: test-service

路由到url地址 

由SimpleHostRoutingFilter实现,以下配置表示当拦截到"/test/csdn"请求时就转发到csdn去,可以在只知道请求路径不知道服务时使用

zuul: routes:test:path: /test/csdnurl: https://www.csdn.net/

转发给自己

由SendForwardFilter实现,url要以forward:开头,表示该请求再次跳转到“/user”

 routes:test:path: /test/**url: forward: /user

自定义过滤器

自定义过滤器的使用场景非常广泛,如鉴权、安全认证、灰度发布等场景都可以通过自定义过滤器实现

@Configuration
public class TestFilter extends ZuulFilter {@Overridepublic String filterType() {// 设置过滤类型 FilterConstants.PRE_TYPE FilterConstants.ERROR_TYPE FilterConstants.ROUTE_TYPE FilterConstants.POST_TYPEreturn null;}@Overridepublic int filterOrder() {// 优先级 越小越优先执行return 0;}@Overridepublic boolean shouldFilter() {// 是否需要过滤,true为需要过滤,这里可以加相应的判断条件return false;}@Overridepublic Object run() throws ZuulException {// 具体要实现的业务逻辑return null;}
}

相关文章:

Spring Cloud之Zuul

目录 简介 Zuul中的过滤器 过滤器的执行流程 使用过滤器 route过滤器的默认三种配置 路由到服务 路由到url地址 转发给自己 自定义过滤器 简介 Zuul是Netflix开源的微服务网关,主要功能是路由转发和过滤器,其原理也是一系列filters&#xff0…...

为什么要有分布式锁?

Redis避坑指南:为什么要有分布式锁?作者:京东保险 张江涛1、为什么要有分布式锁?JUC提供的锁机制,可以保证在同一个JVM进程中同一时刻只有一个线程执行操作逻辑;多服务多节点的情况下,就意味着有…...

【Redis】Redis持久化之RDB详解(Redis专栏启动)

📫作者简介:小明java问道之路,2022年度博客之星全国TOP3,专注于后端、中间件、计算机底层、架构设计演进与稳定性建工设优化。文章内容兼具广度深度、大厂技术方案,对待技术喜欢推理加验证,就职于知名金融公…...

Retinanet网络与focal loss损失

参考代码:https://github.com/yhenon/pytorch-retinanet 1.损失函数 1)原理 本文一个核心的贡献点就是 focal loss。总损失依然分为两部分,一部分是分类损失,一部分是回归损失。 在讲分类损失之前,我们来回顾一下二…...

Spring事务的失效场景

事务失效场景 方法用private或final修饰 Spring底层使用了AOP,而AOP的实现方式有两种,分别是JDK动态代理和CGLIB,JDK动态代理是实现抽象接口,CGLIB是继承父类,无论哪种方式,都需要重写方法来进行方法增强,而…...

芯动联科在科创板IPO过会:拟募资10亿元,金晓冬为实际控制人

2月13日,上海证券交易所披露的信息显示,安徽芯动联科微系统股份有限公司(下称“芯动联科”)获得科创板上市委会议审议通过。据贝多财经了解,芯动联科于2022年6月24日在科创板递交招股书。 本次冲刺上市,芯…...

数据结构之单链表

一、链表的组成 链表是由一个一个的节点组成的,节点又是一个一个的对象, 相邻的节点之间产生联系,形成一条链表。 例子:假如现在有两个人,A和B,A保存了B的联系方式,这俩人之间就有了联系。 A和…...

儿子跟妈妈关系不好怎么办?这里有解决办法!

15岁的男孩子正处于青春期,很多男孩都傲慢自大,听不进去别人的建议,以自己为中心,认为自己能处理好自己的事情,不想听父母的唠叨。母亲面对青春期的孩子也是举手无措,语气不好,会让孩子更叛逆。…...

论文投稿指南——中文核心期刊推荐(植物保护)

【前言】 🚀 想发论文怎么办?手把手教你论文如何投稿!那么,首先要搞懂投稿目标——论文期刊 🎄 在期刊论文的分布中,存在一种普遍现象:即对于某一特定的学科或专业来说,少数期刊所含…...

华科万维C++章节练习4_6

【程序设计】 题目: 编程输出下列图形,中间一行英文字母由输入得到。 A B B B C C C C C D D D D D D D C C C C C B B B A 开头空一格,字母间空两格…...

详解子网技术

一 : Internet地址 Intemet实质上是把分布在世界各地的各种网络如计算机局域网和广域网、数字数据通信网以及公用电话交换网等互相连接起来而形成的超级网络。但是 , 网络的物理地址给Internet统一全网地址带来两个方面的问题: 第一,物理地址是物理网络技术的一种…...

chatGTP的全称Chat Generative Pre-trained Transformer

chatGPT,有时候我会拼写为:chatGTP,所以知道这个GTP的全称是很有用的。 ChatGPT全名:Chat Generative Pre-trained Transformer ,中文翻译是:聊天生成预训练变压器,所以是GPT,G是生…...

hive数据存储格式

1、Hive存储数据的格式如下: 存储数据格式存储形式TEXTFILE行式存储SEQUENCEFILE行式存储ORC列式存储PARQUET列式存储 2、行式存储和列式存储 解释: 1、上图左面为逻辑表;右面第一个为行式存储,第二个温列式存储; …...

mysql数据库备份与恢复

mysql数据备份: 数据备份方式 物理备份: 冷备:.冷备份指在数据库关闭后,进行备份,适用于所有模式的数据库热备:一般用于保证服务正常不间断运行,用两台机器作为服务机器,一台用于实际数据库操作应用,另外…...

《NFL橄榄球》:辛辛那提猛虎·橄榄1号位

辛辛那提猛虎(英语:Cincinnati Bengals),又译辛辛那提孟加拉虎,是一支职业美式橄榄球球队位于俄亥俄州辛辛那提。他们现时为美联北区的其中一支球队,他们在1968年加入美国橄榄球联合会,并在1970…...

2、线程、块和网格

目录一、线程、块、网格概念二、代码分析2.1 打印第一个线程块的第一线程2.2 打印当前线程块的当前线程2.3 获取当前是第几个线程一、线程、块、网格概念 CUDA的软件架构由网格(Grid)、线程块(Block)和线程(Thread&am…...

C++ 算法主题系列之贪心算法的贪心之术

1. 前言 贪心算法是一种常见算法。是以人性之念的算法,面对众多选择时,总是趋利而行。 因贪心算法以眼前利益为先,故总能保证当前的选择是最好的,但无法时时保证最终的选择是最好的。当然,在局部利益最大化的同时&am…...

请注意,PDF正在传播恶意软件

据Bleeping Computer消息,安全研究人员发现了一种新型的恶意软件传播活动,攻击者通过使用PDF附件夹带恶意的Word文档,从而使用户感染恶意软件。 类似的恶意软件传播方式在以往可不多见。在大多数人的印象中,电子邮件是夹带加载了恶…...

【Kubernetes】【二】环境搭建 环境初始化

本章节主要介绍如何搭建kubernetes的集群环境 环境规划 集群类型 kubernetes集群大体上分为两类:一主多从和多主多从。 一主多从:一台Master节点和多台Node节点,搭建简单,但是有单机故障风险,适合用于测试环境多主…...

Python:每日一题之发现环(DFS)

题目描述 小明的实验室有 N 台电脑,编号 1⋯N。原本这 N 台电脑之间有 N−1 条数据链接相连,恰好构成一个树形网络。在树形网络上,任意两台电脑之间有唯一的路径相连。 不过在最近一次维护网络时,管理员误操作使得某两台电脑之间…...

从零到一:HNU计算机系统实验原型机vspm1.0实战与miniCC编译初探

1. 初识HNU计算机系统实验原型机vspm1.0 第一次接触vspm1.0原型机时,我完全被这个精巧的教学工具吸引了。作为一个计算机系统初学者,最让我惊喜的是它用不到200行汇编指令就完整模拟了冯诺伊曼体系结构的核心要素。这台原型机配备了6个通用寄存器&#x…...

别再死磕监督学习了!用Python从零搭建一个强化学习智能体(附完整代码)

用Python实战强化学习:从CartPole到自主决策智能体 在机器学习领域,监督学习长期占据主导地位,但当我们面对需要与环境持续交互、通过试错获取反馈的复杂任务时,强化学习展现出独特优势。本文将带您用Python构建一个能玩转OpenAI …...

AI报告文档审核护航飞行安全:IACheck打造航电与飞控检测报告智能审核新利器

在航空领域,航电系统与飞控系统被誉为飞行器的“大脑”和“神经中枢”。航电系统负责信息处理与通信导航,飞控系统则负责飞行姿态控制与稳定执行。两者协同运行,直接关系到飞行安全与任务成败。在如此高安全要求的领域中,任何细微…...

终极指南:如何使用Masuit.Tools实现高效多线程下载与断点续传

终极指南:如何使用Masuit.Tools实现高效多线程下载与断点续传 【免费下载链接】Masuit.Tools 全龄段友好的C#万能工具库,码数吐司库,包含一些常用的操作类,大都是静态类,加密解密,反射操作,权重…...

清华大学提出统一多模态模型新突破:让AI同时学会“看“和“画“

这项由清华大学、西安交通大学和中科院大学联合开展的研究发表于2026年的arXiv预印本(论文编号:arXiv:2603.12793v1),研究团队开发了一个名为CHEERS的全新AI模型,能够同时具备图像理解和图像生成两种截然不同的能力。对…...

CLIP ViT-H/14模型架构深度解析:从20亿数据到零样本视觉语言理解

CLIP ViT-H/14模型架构深度解析:从20亿数据到零样本视觉语言理解 【免费下载链接】CLIP-ViT-H-14-laion2B-s32B-b79K 项目地址: https://ai.gitcode.com/hf_mirrors/laion/CLIP-ViT-H-14-laion2B-s32B-b79K CLIP ViT-H/14-laion2B-s32B-b79K是一个基于Visio…...

H3C路由器EBGP/IBGP邻居配置全指南:从基础搭建到next-hop-local参数精讲

H3C路由器EBGP/IBGP邻居配置实战:跨AS互联的深度解析 在企业级网络架构中,BGP协议作为互联网路由的事实标准,其配置的精细程度直接决定了多自治系统(AS)间互联的可靠性与效率。H3C作为国内主流网络设备厂商&#xff0c…...

“Token”有了中文名:词元

作者|周雅3月23日,在中国发展高层论坛2026年年会上,国家数据局局长刘烈宏正式给出Token 的中文名——「词元」。如果只把这件事理解为一次术语翻译,可能会低估它。更值得注意的是,刘烈宏同时给了「词元」一个更明确的产…...

Langflow全场景部署实战指南:从本地开发到云端服务

Langflow全场景部署实战指南:从本地开发到云端服务 【免费下载链接】langflow ⛓️ Langflow 是 LangChain 的用户界面,使用 react-flow 设计,旨在提供一种轻松实验和原型设计流程的方式。 项目地址: https://gitcode.com/GitHub_Trending/…...

Qwen3.5-4B-Claude-Opus部署案例:CSDN镜像开箱即用,无需下载模型

Qwen3.5-4B-Claude-Opus部署案例:CSDN镜像开箱即用,无需下载模型 1. 模型介绍 Qwen3.5-4B-Claude-4.6-Opus-Reasoning-Distilled-GGUF 是一个基于 Qwen3.5-4B 的推理蒸馏模型,重点强化了结构化分析、分步骤回答、代码与逻辑类问题的处理能力…...