SpringCloud Zuul网关的简单理解

Zuul网关功能

请求路由、服务路由、请求过滤

请求路由

参数配置如下所示,所有能够配置path规则的请求,都会被zuul网关转发到对应的url上。

zuul.routes.user-service.path=/user-service/**
zuul.routes.user-service.url=http://178.69.1.39:9104/ 

服务路由

参数配置如下所示,zuul会对服务user-service进行路由,所有能够配置path规则的请求,都会被zuul网关转发到serivce-id服务上。

zuul.routes.user-service.path=/user-service/**
zuul.routes.user-service.serviceId=user-service/**
zuul.routes.user-service.strip-prefix=false

Zuul内置Hystrix和Ribbon

Zuul内置Hystrix和Ribbon模块的依赖,所以zuul天生就拥有线程隔离和断路器的自我保护功能,以及对服务调用的客户端负载均衡功能。
当使用path与url的映射关系来配置路由规则的时候,对于路由转发的请求不会采用hystrixCommand来包装,所以这类请求没有线程隔离和断路器的保护,并且也不会有负载均衡的能力。
因此,在使用zuul的时候尽量使用path和serviceId的组合(也就是服务路由)来进行配置,这样不仅可以保证api网关的健壮和稳定,也能用到ribbon的客户端负载均衡功能。
Zuul配置Hystrix和Ribbon,详情见:
https://www.cnblogs.com/expiator/p/10753746.html

请求过滤

待补充。
参考资料:
《SpringCloud微服务实战》

原文地址:https://www.cnblogs.com/expiator/p/10778213.html

时间: 2024-10-08 23:56:30

SpringCloud Zuul网关的简单理解的相关文章

springcloud zuul 网关

zuul网关简介 Zuul 网关的核心 是系列过滤器,可以在 Http 请求发起和响应返回期间执行 系列的过滤器. Zuul 包括以下 四种过滤器: 1,PRE 过滤器 它是在请求路由到具体的服务之前执行的,这种类型的过滤器可 以做安全验证,例如身份验证. 参数验证等. 2,ROUTING 过滤器 它用于将请求路由到具体的微服务 .在默认情况下,它使用Http Client 进行网络请求. 3,POST 过滤器:它是在请求己被路由到微服务后执行的,一 般情况下,用作收集统计信息.指标,以及将响

springCloud Zuul网关

1.springboot 仅2.0.x 支持,在此选择 2.0.7 2.新建Module eureka-zuul-client 3.导入依赖 <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instan

springcloud学习之路: (三) springcloud集成Zuul网关

网关就是做一下过滤或拦截操作 让我们的服务更加安全 用户访问我们服务的时候就要先通过网关 然后再由网关转发到我们的微服务 1. 新建一个网关服务Module 2. 依然选择springboot工程 3. 老规矩起个名字 4. 勾选注册中心客户端 5. 勾选zuul网关模块 6. 编写配置文件 server: # 服务端口号 port: 8085 spring: application: # 服务名称 - 服务之间使用名称进行通讯 name: service-zuul eureka: client

springcloud+zuul+swagger2之微服务通过网关进行分发

因公司技术架构需要,我从zk+dubbo+springboot开始接触springcloud一系列架构.首先接触到新东西,我内心是希望得到学习的,毕竟技多不压身,更何况用springcloud也不是新技术了[苦瓜脸].此文章主要讲述整个配置关键点,其他细节请找我家彦宏. 进入正题:用zuul网关的目的,就我目前来看是为了让几个服务对外保证一个域名请求,得到请求后网关进行转发到各个服务上.第一步准备两个及以上的微服务,这些都是注册到eureka上的服务名称 1.user-serive user-s

springcloud(七,多个服务消费者配置,以及zuul网关案例)

spring cloud (一.服务注册demo_eureka) spring cloud (二.服务注册安全demo_eureka) spring cloud (三.服务提供者demo_provider) spring cloud (四.服务消费者demo_consumer) springcloud(五,多个服务注册中心eureka) springcloud(六,多个服务提供者) 多个服务消费者同上面的提供者和服务注册一样的哈,就是复制出来两个,把端口改一下即可 这里就不做截图了 直接开始zu

SpringCloud路由网关Zuul

什么是网关 Zuul的主要功能是路由转发和过滤器.路由功能是微服务的一部分,比如/api/user转发到到user服务,/api/shop转发到到shop服务.zuul默认和Ribbon结合实现了负载均衡的功能, 类似于nginx转发. 依赖 <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId>

SpringCloud系列之四---Zuul网关整合Swaagger2管理API

前言 本篇文章主要介绍的是Zuul网关整合Swaagger2管理API. 实现过程需要先创建eureka服务端,再创建多个微服务项目,每个微服务项目整合swagger2,形成接口文档,并且每个微服务需要注册到eureka注册中心.再创建zuul网关对所有的swagger进行管理,zuul网关也需要作为eureka客户端注册到注册中心. GitHub源码链接位于文章底部. 1.eureka服务端 首先创建eureka注册中心,因为这只是一个注册中心,所以只需要引入eureka服务端jar即可. 1

Spring Cloud(Dalston.SR5)--Zuul 网关-微服务集群

通过 url 映射的方式来实现 zuul 的转发有局限性,比如每增加一个服务就需要配置一条内容,另外后端的服务如果是动态来提供,就不能采用这种方案来配置了.实际上在实现微服务架构时,服务名与服务实例地址的关系在 eureka server 中已经存在了,所以只需要将Zuul注册到 eureka server上去发现其他服务,就可以实现对 serviceId 的映射,并且启用了 eureka server 同时也会启用 ribbon 对服务进行负载均衡调用,加入 Zuul 到微服务集群架构图如下:

交换技术之 Valn 的简单理解及不同Vlan互通

交换技术之 Valn 的简单理解及不同Vlan互通 一.Vlan解决的问题 解决同一个网段间广播数据的隔离 扩展:借助三层设备可以即隔离了二层同网段的广播数据,也可以实现不同网段的链接互通. 二.Vlan简单理解 在一个交换机上划分了好几个区域,每个区域都是一个相互隔离的容器(隔离的内容就是网络中的广播数据). 不同的Vlan之间互通,一般是指不同的网段之间互通.既然网段都不一样了,想要通信的那就在'二层'无法做到,就需要'三层'的路由技术(即需要'网关':门口管理员,想去那里和我说下,我看你能