zuul的简介:
zuul在spring cloud中以提供网关服务的形式存在,它是前端通向后端的大门,
其使用了一系列不同类型的过滤器,以将功能应用到服务中,其可以实现:
身份验证和安全性——识别每个资源的身份验证需求并拒绝不满足这些需求的请求。
洞察和监控——在边缘跟踪有意义的数据和统计数据,以便为我们提供准确的生产视图。
动态路由——根据需要动态地将请求路由到不同的后端集群。
压力测试——逐步增加集群的流量,以评估性能。
减少负载——为每种类型的请求分配容量,并删除超过限制的请求。
静态响应处理——直接在边缘构建一些响应,而不是将它们转发到内部集群
多区域弹性——跨AWS区域路由请求,以使我们的ELB使用多样化,并使我们的优势更接近我们的成员
其中边缘指的就是zuul
zuul的原理图
Inbound Filters:路由到origin之前执行,可用于身份验证,路由和装饰请求
Endpoint Filters:用于返回静态响应,否则内置ProxyEndpoint过滤器会将请求路由到origin
Outbound Filters:从origin获取响应之后执行,可用于度量,装饰用户响应和自定义头
zuul的应用:
zuul的高可用的实现
将多个zuul节点注册到eureka服务就可以实现zuul服务的高可用
在微服务的内部,a服务可以调用zuul服务,然后通过zuul服务转发到b服务
nginx可以与zuul搭配使用,nginx暴露url,将请求转发到多个zuul,并实现负载均衡