首页 > 编程源码 > zuul入门

zuul入门

楼主:知安 [1级] · 2019-11-25 ·  浏览780 · 编程源码 · ID:

Zuul简介

Zuul是Netflix公司开源的一个API网关组件,Spring Cloud对其进行封装做到开箱即用,同时,Zuul还可以与Eureka、Ribbon、Hystrix等组件配合使用。

Zuul的核心是一系列过滤器,开发者通过实现过滤器接口,可以做大量切面任务,即AOP思想的应用。Zuul的过滤器之间没有直接的相互通信,而是通过本地ThreadLocal变量进行数据传递的。

所有从设备或网站来的请求都会经过Zuul到达后端的Netflix应用程序。作为一个边界性质的应用程序,Zuul提供了动态路由、监控、弹性负载和安全功能。

Zuul作用

在微服务架构中,通常会有多个服务提供者。设想一个电商系统,可能会有商品、订单、支付、用户等多个类型的服务,而每个类型的服务数量也会随着整个系统体量的增大也会随之增长和变更。作为UI端,在展示页面时可能需要从多个微服务中聚合数据,而且服务的划分位置结构可能会有所改变。网关就可以对外暴露聚合API,屏蔽内部微服务的微小变动,保持整个系统的稳定性。

当然这只是网关众多功能中的一部分,它还可以做负载均衡,统一鉴权,协议转换,监控监测等一系列功能。

作为网关的Zuul,主要有以下作用:

路由转发:接受请求,转发到后端服务;

过滤器:提供一系列过滤器完成权限、日志、限流等切面任务。

Zuul原理图如下

Zuul特性

认证和安全:识别每个需要认证的资源,拒绝不符合要求的请求。

性能监测:在服务边界追踪并统计数据,提供精确的生产视图。

动态路由:根据需要将请求动态路由到后端集群。

压力测试:逐渐增加对集群的流量以了解其性能。

负载卸载:预先为每种类型的请求分配容量,当请求超过容量时自动丢弃。

静态资源处理:直接在边界返回某些响应。

- 版权声明 - 1、本帖所有言论和图片等纯属网友个人意见,与流星社区立场无关;
2、其他单位或个人使用、转载或引用本帖时必须同时征得该帖子作者知安流星社区的同意;
3、备注原文地址:https://bbs.liuxingw.com/t/18253.html,可忽略第2条;
4、帖子作者需承担一切因本文发表而直接或间接导致的相关责任;
5、如本帖内容或部分内容转载自其它媒体,这并不代表本站赞同其观点和对其真实性负责;
6、如本帖若为资源类,将仅限用于学习和研究目的,您必须在下载后的24个小时之内,从您安装或使用的设备中彻底删除上述内容;
7、如果您喜欢该程序,请支持正版软件,购买注册,可以得到更好的正版服务;
8、如本帖侵犯到任何版权或违法问题,请立即邮件告知我们,我们将及时予以处理。
4条回复 |  最后回复于2019-11-25

若浮若沉 [1级]

发布于2019-11-25

回复列表

  • 内容加载中...

说点什么...

安然 [3级]

偷看一下,
发布于2019-11-25

回复列表

  • 内容加载中...

说点什么...

颜Yan [1级]

偷偷看下。
发布于2019-11-25

回复列表

  • 内容加载中...

说点什么...

[]

springcloud?
发布于2019-11-25

回复列表

  • 内容加载中...

说点什么...
登录注册 后才可进行评论
签到
30人签到
已签0天
  • 46636帖子
  • 1936909热点量
  • 185024火热值