SpringCloud- 第十二篇 Zuul概念及原理(一)

本文详细介绍了SpringCloud组件Zuul,作为API网关的角色,包括其身份验证、动态路由、Hystrix支持等功能。Zuul提供了请求过滤和路由转发,支持身份验证、服务路由、负载均衡、压力测试等功能。文章还探讨了Zuul的配置,如路由配置、敏感头信息处理、重定向问题和路由回退策略,以及如何利用Hystrix进行服务降级。
摘要由CSDN通过智能技术生成

1:Zuul是什么

Zuul是Netflix开源的API网关。
API网关,类似于面向对象设计模式中的Facade模式,它的存在就像是整个微服务架构系统的门面一样,所有的外部客户端访问都需要经过它来进行调度和过滤,它除了要实现请求路由,负载均衡,来源合法性检测,权限校验,反爬虫等功能之外,还需要更多能力,比如与服务治理框架的结合,请求转发时的熔断机制,服务的聚合等一系列的高级功能。
官网:https://github.com/Netflix/zuul/

2:Zuul能干什么

  • 身份验证和安全 - 识别每个资源的身份验证要求,并拒绝不满足的请求
  • 审查和监测 - 跟踪边缘的有意义的数据和统计数据,以便我们准确地了解生产运行情况
  • 动态路由 - 根据需要将请求动态路由到不同的后端集群
  • 压力测试 - 逐渐增加到集群的流量,以衡量性能
  • 负载分配 - 为每种类型的请求分配容量并删除超出限制的请求
  • 静态响应处理 - 直接在边缘构建一些响应,而不是将它们转发到内部集群

3: 流程图

image.png

4:Zuul有什么

Zuul包含了对请求的路由和过滤两个最主要的功能:

其中路由功能负责将外部请求转发到具体的微服务实例上,是实现外部访问统一入口的基础
而过滤器功能则负责对请求的处理过程进行干预,是实现请求校验、服务聚合等功能的基础
然而实际上,路由功能在真正运行时,它的路由映射和请求转发都是由几个不同的过滤器完成的。其中,路由映射主要通过pre类型的过滤器完成,它将请求路径与配置的路由规则进行匹配,以找到需要转发的目标地址;而请求转发的部分则是由route类型的过滤器来完成,对pre类型过滤器获得的路由地址进行转发

5:HelloWorder

  • 加入依赖
<dependency>
	<groupId>org.springframework.cloud</groupId>
	<artifactId>spring-cloud-starter-zuul</artifactId>
</dependency>
  • 配置示例,注意serviceId需要全小写
  • <
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值