Fork me on GitHub

实用技巧:快速定位Zuul的性能瓶颈

Zuul的性能不是特别好,特别是,某些项目对Zuul进行了一些扩展,代码还不那么考究时。 如何快速定位出Zuul的性能瓶颈呢?我们知道,Zuul的核心是过滤器,Zuul大多功能都是基于过滤器实现的。 一次请求,会经过若干过滤器,如何查看每个过滤器执行的耗时呢?只需开启Zuul的Debug能力即可。 注 本文基于Spring Cloud Finchley,同样适用于Spring Cloud Greenwich。 Edgware及更早版本,需配置 management.s...

跟我学Spring Cloud(Finchley版)-18-Zuul深入

本节探讨Zuul的高级特性。 TIPS: 笔者已经写过很多Zuul相关的文章,对于已经写过的内容,就不再啰嗦一遍了,直接贴地址吧。 过滤器详解过滤器是Zuul的核心,Zuul大多功能都是基于过滤器实现的。详见:Spring Cloud Zuul过滤器详解 ,文章着重探讨了Zuul过滤器的生命周期、如何自定义过滤器、如何禁用指定过滤器等。 内置过滤器详解Zuul内置了很多过滤器,这些过滤器帮助我们实现各种能力,来分析一下内置过滤器有哪些,分别是干嘛的。 详见:Spri...

跟我学Spring Cloud(Finchley版)-17-Zuul路由配置详解

上一节( 跟我学Spring Cloud(Finchley版)-16-Zuul )中,已经实现用Zuul转发到Eureka上的微服务。默认的路由规则是:访问$ZUUL_URL/指定为服务/** 会被转发到指定微服务 的/** 。 但在实际项目中,往往需要自己定义路由规则,Zuul的路由配置非常灵活、简单,本节详细讲解Zuul的路由配置。 一、自定义指定微服务的访问路径配置zuul.routes.指定微服务的serviceId = 指定路径 即可。例如: 123zuul...

跟我学Spring Cloud(Finchley版)-16-Zuul

至此,已实现基于Eureka的服务发现,基于Ribbon的负载均衡,Feign也为我们提供了很不错的远程调用能力,使用Hystrix后,高并发场景下应用也不会被别人拖死——咱们的微服务架构已经日趋完善! 然而,迄今为止,只讨论了微服务之间的调用,尚没讨论如何应对外部请求。应对外部请求时,就会发现,我们的架构依然存在一些问题—— 为什么要使用网关不同的微服务一般会有不同的网络地址,而外部客户端(例如手机APP)可能需要调用多个服务的接口才能完成一个业务需求。例如一个电影购...

纠错帖:Zuul & Spring Cloud Gateway & Linkerd性能对比

动机已经不止一次看到“Spring Cloud Gateway性能比Zuul更差”的言论了,不少人人云亦云,来问我,既然如此,那Spring官方还开发Spring Cloud Gateway干嘛?难道仅仅是为了支持Zuul 1.x不支持的长连接、Web Socket吗? 故而写篇博客,纠正一下大家的错误观点。…

Spring Cloud Edgware新特性之五:filters端点

Spring Cloud是当前炙手可热的微服务开发框架。它的功能强大,组件丰富,设计优雅。目前Spring Cloud还在不断发展之中。 Spring Cloud即将发布Spring Cloud Edgware 版本。该版本解决了不少Bug,新增了不少新特性,本系列博客将为大家详细阐述在Spring Cloud Edgware中新增的特性。 我们知道,过滤器是Zuul的核心。笔者曾经写过两篇文章介绍过滤器: Spring Cloud内置的Zuul过滤器详解 Spring Cloud Zuul过滤器详解 …

Zuul的高可用

近期挺多朋友问到Zuul如何高可用,这里详细探讨一下。 Zuul的高可用非常关键,因为外部请求到后端微服务的流量都会经过Zuul。故而在生产环境中,我们一般都需要部署高可用的Zuul以避免单点故障。 笔者分两种场景讨论Zuul的高可用。…

Spring Cloud内置的Zuul过滤器详解

Spring Cloud默认为Zuul编写并启用了一些过滤器,这些过滤器有什么作用呢?我们不妨按照@EnableZuulServer、@EnableZuulProxy两个注解进行展开,相信大家对这两个注解都不陌生(至少都见过吧)。如果觉得陌生也没有关系,可将@EnableZuulProxy简单理解为@EnableZuulServer的增强版。事实上,当Zuul与Eureka、Ribbon等组件配合使用时,@EnableZuulProxy是我们常用的注解。 在Spring Cloud的官方文档中,只说@EnableZuulServer是一个“空白”的Zuul,那么究竟空白在什么地方呢?与@EnableZuulProxy到底有什么区别呢?诸多问题,都将在本文找到答案。…

Spring Cloud Zuul过滤器详解

阅读本文,您将了解: Zuul过滤器类型与请求生命周期 如何编写Zuul过滤器 如何禁用Zuul过滤器 Spring Cloud为Zuul编写的过滤器及其功能。 …