Zuul之Filter详解
Zuul详解
官方文档:https://github.com/Netflix/zuul/wiki/How-it-Works
Zuul的中心是一系列过滤器,能够在HTTP请求和响应的路由过程中执行一系列操作。
以下是Zuul过滤器的主要特征:
- 类型:通常在应用过滤器时在路由流程中定义阶段(尽管它可以是任何自定义字符串)
- 执行顺序:在类型中应用,定义跨多个过滤器的执行顺序
- 标准:执行过滤器所需的条件
- 操作:满足条件时要执行的操作
Zuul提供了一个动态读取,编译和运行这些过滤器的框架。过滤器不直接相互通信 - 而是通过RequestContext共享状态,RequestContext对每个请求都是唯一的。
过滤器目前用Groovy编写,尽管Zuul支持任何基于JVM的语言。每个Filter的源代码都写入Zuul服务器上的一组指定目录,这些目录会定期轮询更改。更新的过滤器从磁盘读取,动态编译到正在运行的服务器中,并由Zuul为每个后续请求调用。
过滤类型
Zuul大部分功能都是通过过滤器来实现的。Zuul中定义了四种标准过滤器类型,这些过滤器类型对应于请求的典型生命周期:
- PRE:这种过滤器在请求被路由调用之前调用。我们可利用这种过滤器实现身份验证、再集群中选择请求的微服务、记录调试信息等。
- ROUTING:这种过滤器将请求路由到微服务。用于构建发送给微服务的请求,并使用
Apache HttpClient
或Netflix Ribbon
构建和发送原始HTTP请求的位置。 - POST:请求在路由到微服务之后执行。示例包括向响应添加标准HTTP标头、收集统计信息和指标、以及将响应从源传输到客户端。
- ERROR:过滤器在其中一个阶段发生错误时执行。
除了默认的过滤器类型,Zuul还允许我们创建自定义过滤器类型。例如,我们有一个自定义STATIC类型的过滤器,它直接在Zuul中生成响应,而不是将请求转发到后端的微服务。
Zuul请求的生命周期
Zuul请求的生命周期如下图所示,改图详细的描述了各种类型的过滤器执行顺序。
转载于:https://www.cnblogs.com/mmzs/p/10097538.html
Zuul之Filter详解相关推荐
- 布隆过滤器+布隆过滤器(Bloom Filter)详解
布隆过滤器+布隆过滤器(Bloom Filter)详解 程序 = 数据结构 + 算法 -- 图灵奖得主,计算机科学家N.Wirth(沃斯) A Bloom filter is a space effi ...
- logstash过滤器插件filter详解及实例
原创作者:峰哥ge 原创地址: https://www.cnblogs.com/FengGeBlog/p/10305318.html logstash过滤器插件filter grok正则捕获 grok ...
- es6 map()和filter()详解【转】
本文转载自: https://www.cnblogs.com/zxyun/p/7019631.html 作者:zxyun 转载请注明该声明. 原文地址:http://www.zhangxinxu.co ...
- spring cloud-zuul的Filter详解
博客原文:http://blog.csdn.net/liuchuanhong1/article/details/62236793 在前面我们使用zuul搭建了网关http://blog.csdn.ne ...
- SpringCloud工作笔记037---spring cloud-zuul的Filter详解
JAVA技术交流QQ群:170933152 在前面我们使用zuul搭建了网关http://blog.csdn.net/liuchuanhong1/article/details/59056278 关于 ...
- 过滤器Filter详解
一.简介 (一)概述 Filter,过滤器,用于在servlet之外对request 和response 进行修改.Filter 有一个 FilterChain 的概念,一个Filter ...
- Spring Cloud Zuul之ZuulFilter详解
简介 Spring Cloud Zuul网关在整个微服务体系中肩负对外开放接口.请求拦截.路由转发等作用,其核心处理则是ZuulFilter ZuulFilter部分源码 Zuul Filter全部继 ...
- 布隆过滤器(Bloom Filter)详解——基于多hash的概率查找思想
转自:http://www.cnblogs.com/haippy/archive/2012/07/13/2590351.html 布隆过滤器[1](Bloom Filter)是由布隆(Burton ...
- 海量数据处理之Bloom Filter详解
前言 本博客内曾已经整理过十道海量数据处理面试题与十个方法大总结.接下来,本博客内会重点分析那些海量数据处理的方法,并重写十道海量数据处理的面试题.如果有任何问题,欢迎不吝指正.谢谢. 一.什么是Bl ...
最新文章
- 最新编程语言排名:Python超Java、JS保持领头羊
- Redis站点流量统计HyperLogLog
- 到底是什么原因才导致 select * 效率低下的?
- 时区的概念定义和发展史
- 华为android强刷系统下载地址,华为P6S官方rom固件刷机包下载_华为P6S原版系统强刷升级包...
- HDOJ--2087--剪花布条(BF算法和KMP算法都能使用)
- 怎么判断有用户在远程连接目标电脑_你的电脑是肉鸡吗?
- Vue指令之v-show
- 非递归方式对二叉树进行前序、中序、后序遍历(C++实现)
- atitit.重装系统需要备份的资料总结 o84..
- idea console窗口不见了_Python 闲谈 14——安利下IDEA开发神器中好用到爆的插件
- 最新Java基础面试题及答案整理
- 嵌入式 Linux下检索字符串命令grep
- 计算机用户文件夹加密,如何加密文件夹?手把手教你给文件夹加密方法
- 数据挖掘:针对小样本与不均衡样本的机器学习算法实践
- linux中cpu使用率命令,LINUX下查看CPU使用率的命令
- ORACLE MERGE INTO语句,unable to get a stable set of rows in the source tables报错解决
- QT中自定义控件和插件大致方法
- ipv6内网穿透,有ipv6地址外网无法访问
- 软考案例题目答题技巧