Zuul介绍

路由+过滤器 = Zuul

核心是一系列的过滤器

Zuul的四种过滤器API

前置(PRE)

后置(POST)

路由(Route)

错误(Error)

Zuul组织架构图

Zuul Fillter生命周期

二、Zuul的使用

1 创建工程

选择Config Client

选择Eureka Discovery

选择Zuul

最后,点击完成

2、增加配置

bootstrap.xml 文件

eureka:
client:
service-url:
defaultZone: http://localhost:8761/eureka/
spring:
application:
name: api-gateway
cloud:
config:
discovery:
enabled: true
service-id: CONFIG
profile: dev

3、启动后查看Erueka

已经多了一个API-GATEWAY

4、增加EnableZuulProxy注解

5、增加访问API-Gateway的时候,路由到Product服务下的list商品列表接口,如下图

访问API-Gateway。 

第一个product代表eureka下的Application的名称

调用Post接口,如下图

6、自定义路由

eureka:
client:
service-url:
defaultZone: http://localhost:8761/eureka/
spring:
application:
name: api-gateway
cloud:
config:
discovery:
enabled: true
service-id: CONFIG
profile: dev
zuul:
routes:
myProduct:
path: /myProduct/**
serviceId: product

  测试

7、排除某些路由

zuul:
routes:
#/myProduct/product/list -> /product/product/list
#myProduct:
# path: /myProduct/**
# serviceId: product
#简洁写法
product: /myProduct/**
ignored-patterns:
- /product/product/listForOrder
- /myProduct/product/listForOrder

  效果如下图

两个配置改成一个通配符

9.设置Cookie可传递

三、典型应用场景

1、前置(Pre)

限流  鉴权 参数校验调整

2、后置(Post)

统计  日志

服务网关Zuul的更多相关文章

  1. 服务网关zuul之七:zuul中的动态刷新路由配置

    <spring扩展点之三:Spring 的监听事件 ApplicationListener 和 ApplicationEvent 用法,在spring启动后做些事情> <服务网关zu ...

  2. SpringCloud-微服务网关ZUUL(六)

    前言:前面说过,由于微服务过多,可能某一个小业务就需要调各种微服务的接口,不可避免的就会需要负载均衡和反向代理了,以确保ui不直接与所有的微服务接口接触,所以我们需要使用一个组件来做分发,跨域等各种请 ...

  3. Spring Cloud 服务网关Zuul

    Spring Cloud 服务网关Zuul 服务网关是分布式架构中不可缺少的组成部分,是外部网络和内部服务之间的屏障,例如权限控制之类的逻辑应该在这里实现,而不是放在每个服务单元. Spring Cl ...

  4. Spring Cloud实战之初级入门(六)— 服务网关zuul

    目录 1.环境介绍 2.api网关服务 2.1 创建工程 2.3 api网关中使用token机制 2.4 测试 2.5 小结 3.一点点重要的事情 1.环境介绍 好了,不知不觉中我们已经来到了最后一篇 ...

  5. Spring Cloud(十):服务网关 Zuul(路由)【Finchley 版】

    Spring Cloud(十):服务网关 Zuul(路由)[Finchley 版]  发表于 2018-04-23 |  更新于 2018-05-09 |  通过之前几篇 Spring Cloud 中 ...

  6. Spring Cloud(十一):服务网关 Zuul(过滤器)【Finchley 版】

    Spring Cloud(十一):服务网关 Zuul(过滤器)[Finchley 版]  发表于 2018-04-23 |  更新于 2018-05-07 |  在上篇文章中我们了解了 Spring ...

  7. 一起来学Spring Cloud | 第六章:服务网关 ( Zuul)

    本章节,我们讲解springcloud重要组件:微服务网关Zuul.如果有同学从第一章看到本章的,会发现我们已经讲解了大部分微服务常用的基本组件. 已经讲解过的: 一起来学Spring Cloud | ...

  8. 【SpringCloud构建微服务系列】微服务网关Zuul

    一.为什么要用微服务网关 在微服务架构中,一般不同的微服务有不同的网络地址,而外部客户端(如手机APP)可能需要调用多个接口才能完成一次业务需求.例如一个电影购票的手机APP,可能会调用多个微服务的接 ...

  9. springcloud(十一):服务网关Zuul高级篇

    时间过的很快,写springcloud(十):服务网关zuul初级篇还在半年前,现在已经是2018年了,我们继续探讨Zuul更高级的使用方式. 上篇文章主要介绍了Zuul网关使用模式,以及自动转发机制 ...

  10. 跟我学SpringCloud | 第九篇:服务网关Zuul初

    SpringCloud系列教程 | 第九篇:服务网关Zuul初探 前面的文章我们介绍了,Eureka用于服务的注册于发现,Feign支持服务的调用以及均衡负载,Hystrix处理服务的熔断防止故障扩散 ...

随机推荐

  1. day 32 子进程的开启 及其用法

    开启两种子进程的两种方式# # # 1 传统方式# from multiprocessing import Process# import time# def task(name):# print ( ...

  2. 4-log4j2之切分日志文件

    一.添加maven依赖 <dependencies> <dependency> <groupId>org.apache.logging.log4j</grou ...

  3. array_multisort

    项目中用到这个函数了 ,起初对这个函数一直是懵逼状态,文档都看的朦朦胧胧的 网上无意间看到这篇文章 ,写的超级详细,收藏了 . 当然要先放原地址:https://www.cnblogs.com/WuN ...

  4. 关于lunece的搜索的分页和多字段搜索关键词

    关于全文检索lunece的分页,我们需要用到的是以下方法 IndexSearch类下的searchAfter方法. IndexSearch isearch=new IndexSearch(a); is ...

  5. JS之鼠标改变img

    代码用途: 通过点击图片,来改变图片内容 代码: <!DOCTYPE html> <html> <body> <script> function cha ...

  6. 队列 c实现

    循环队列的数组实现 queue.h #ifndef _QUEUE_H_ #define _QUEUE_H_ #define SIZE 10 typedef int data_t; typedef st ...

  7. Linux关闭透明大页配置

      一.为何要关闭透明大页 A--MOS获取 . #翻译 由于透明超大页面已知会导致意外的节点重新启动并导致RAC出现性能问题,因此Oracle强烈建议禁用透明超大页面. 另外,即使在单实例数据库环境 ...

  8. 【leetcode】66-PlusOne

    problem Plus One code class Solution { public: vector<int> plusOne(vector<int>& digi ...

  9. AI之路,第二篇:python数学知识2

    第二篇:python数学知识2 线性代数 导入相应的模块: >>> import numpy as np     (数值处理模块)>>> import scipy ...

  10. selenium和PhantomJS的使用

    利用selenium来进行爬取数据 import time from selenium import webdriver # 创建phantomjs浏览器对象 driver = webdriver.P ...