聊一下SpringCloud Zuul的核心构造

简介: SpringCloud Zuul提供了微服务系统中的网关功能,今天的目的就是来看一下Spring Cloud Zuul的基本构成和配置。

Zuul提供而来哪些网关功能


  1. Zuul组件给微服务架构提供了统一的API入口,并且根据不同过滤器处理API,最后传到后端业务。
  2. Zuul组件主要还是提供了过滤机制、动态路由的功能。
  3. Zuul组件还提供了效验过滤、服务聚合、服务容错等等的功能。
  4. 因为Zuul自动集成了Ribbon和Hystrix,所以Zuul组件生来就自带负载均衡和服务容错的能力。


Zuul的工作核心是什么?


如果问Zuul的工作核心是什么?那肯定会得到异口同声的答案,那就是过滤器,Zuul内部代码实现了多种过滤器类型,以支持网关工作。


Zuul提供了哪些类型的过滤器类型


pre : 可以在请求被路由之前被调用。

此过滤器类型更适用于身份认证的场景,当认证成功后,放进行下一步的操作。


route : 在路由请求时被调用。

适用于灰度发布场景,在将要访问路由的时候同时去做一些自定义的逻辑,以满足相应的奇奇怪怪的需求。


post : 在 routeerror 过滤器之后被调用。

此类过滤器将请求路由到达具体的服务之后执行。比较适用于需要添加响应头,记录响应日志等应用场景。


error : 处理请求时发生错误时被调用。

在执行过程中发送错误时会进入 error 过滤器,可以用来统一记录错误信息,以便于后期解决问题。


Zuul有哪些重点配置


我们直接在Spring Cloud Zuul模块中引入相关jar包,当然需要使用@EnableZuulProxy注解修饰Application类了。


配置Zuul访问api路径:

zuul.routes.eureka-application-service.path=/api/**

配置Zuul服务名称:

zuul.routes.eureka-application-service.serviceId=service-zuul-name

配置可忽略服务:

zuul.ignored-services=service-1

配置Zuul路由前缀路径:

zuul.prefix=/zuul
目录
相关文章
|
2月前
|
消息中间件 NoSQL Java
Spring Cloud项目实战Spring Cloud视频教程 含源码
Spring Cloud项目实战Spring Cloud视频教程 含源码
55 1
|
2月前
|
SpringCloudAlibaba Java 网络架构
【Springcloud Alibaba微服务分布式架构 | Spring Cloud】之学习笔记(二)Rest微服务工程搭建
【Springcloud Alibaba微服务分布式架构 | Spring Cloud】之学习笔记(二)Rest微服务工程搭建
93 0
|
2月前
|
SpringCloudAlibaba Java 持续交付
【构建一套Spring Cloud项目的大概步骤】&【Springcloud Alibaba微服务分布式架构学习资料】
【构建一套Spring Cloud项目的大概步骤】&【Springcloud Alibaba微服务分布式架构学习资料】
311 0
|
2月前
|
SpringCloudAlibaba Java 网络架构
【Springcloud Alibaba微服务分布式架构 | Spring Cloud】之学习笔记(七)Spring Cloud Gateway服务网关
【Springcloud Alibaba微服务分布式架构 | Spring Cloud】之学习笔记(七)Spring Cloud Gateway服务网关
187 0
|
7天前
|
Java API 数据格式
Spring三兄弟:Spring、Spring Boot、Spring Cloud的100个常用注解大盘点
Spring三兄弟:Spring、Spring Boot、Spring Cloud的100个常用注解大盘点
|
2月前
|
消息中间件 JSON Java
Spring Boot、Spring Cloud与Spring Cloud Alibaba版本对应关系
Spring Boot、Spring Cloud与Spring Cloud Alibaba版本对应关系
3185 0
|
2天前
|
负载均衡 监控 Java
深入理解Spring Boot与Spring Cloud的整合方式
深入理解Spring Boot与Spring Cloud的整合方式
|
6天前
|
消息中间件 Java 应用服务中间件
Spring Cloud学习之-什么是Spring Cloud?
Spring Cloud学习之-什么是Spring Cloud?
|
2月前
|
开发框架 负载均衡 Java
Spring boot与Spring cloud之间的关系
总之,Spring Boot和Spring Cloud之间的关系是一种构建和扩展的关系,Spring Boot提供了基础,而Spring Cloud在此基础上提供了分布式系统和微服务架构所需的扩展和工具。
39 4
Spring boot与Spring cloud之间的关系
|
2月前
|
Java Nacos 开发者
Java从入门到精通:4.2.1学习新技术与框架——以Spring Boot和Spring Cloud Alibaba为例
Java从入门到精通:4.2.1学习新技术与框架——以Spring Boot和Spring Cloud Alibaba为例