Fork me on GitHub

Spring Cloud限流详解

在高并发的应用中,限流往往是一个绕不开的话题。本文详细探讨在Spring Cloud中如何实现限流。 在Zuul 上实现限流是个不错的选择,只需要编写一个过滤器就可以了,关键在于如何实现限流的算法。常见的限流算法有漏桶算法以及令牌桶算法。这个可参考 https://www.cnblogs.com/LBSer/p/4083131.html ,写得通俗易懂,你值得拥有,我就不拽文了。 Google Guava 为我们提供了限流工具类RateLimiter ,于是乎,我们可以撸代码了。…

Spring Cloud各组件重试总结

最近挺多童鞋问我如何配置Spring Cloud xxx组件的重试。本篇进行一个总结。 Spring Cloud中的重试机制应该说是比较混乱的,不同的版本有一定区别,实现也不大一样,好在Spring Cloud Camden之后已经基本稳定下来,Dalston中又进行了一些改进,详情暂且不表。 下面我们来详细探讨。 笔者使用的版本是 Spring Cloud Dalston SR4 ,同样适应于Edgware 以及更高版本,对于Dalston 此前的版本,本文不做讨论,大家可自行研究。…

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

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

Spring Cloud Edgware新特性之四:Zuul routes端点功能增强

Spring Cloud是当前炙手可热的微服务开发框架。它的功能强大,组件丰富,设计优雅。目前Spring Cloud还在不断发展之中。 Spring Cloud即将发布Spring Cloud Edgware 版本。该版本解决了不少Bug,新增了不少新特性,本系列博客将为大家详细阐述在Spring Cloud Edgware中新增的特性。 我们知道,Zuul有一个非常实用的 /routes 端点。访问 $ZUUL_URL/routes 即可查看当前Zuul的路由规则,从而在很多情况下能够帮助我们定位Zuul的问题——当Zuul没有按照我们的计划去转发请求时,/routes 就会很有用,可通过该端点查看Zuul转发的规则。访问结果类似如下:…

Spring Cloud Edgware新特性之三:使用配置属性自定义Feign的行为

Spring Cloud是当前炙手可热的微服务开发框架。它的功能强大,组件丰富,设计优雅。目前Spring Cloud还在不断发展之中。 Spring Cloud即将发布Spring Cloud Edgware 版本。该版本解决了不少Bug,新增了不少新特性,本系列博客将为大家详细阐述在Spring Cloud Edgware中新增的特性。 我们知道: Ribbon在Spring Cloud Brixton 版中,只能使用Java代码自定义配置 Ribbon在Spring Cloud Camden 版中,可使用Java代码自定义配置,也可使用配置属性自定义配置,两者等价。配置属性配置的方式为我们带来更好的使用体验和开发效率。 Feign使用Java代码自定义配置的方式跟Ribbon非常类似 遗憾的是:在Spring Cloud Camden 中,Feign依然不支持使用配置属性来自定义配置。 该遗憾已在Spring Cloud Edgware 得到了填补——从此,Feign也支持配置属性自定义配置啦! 下面我们来看看如何使用配置属性自定义Feign的行为:…

Spring Cloud Edgware新特性之二:如何配置Zuul的Hystrix线程池

Spring Cloud是当前炙手可热的微服务开发框架。它的功能强大,组件丰富,设计优雅。目前Spring Cloud还在不断发展之中。 Spring Cloud即将发布Spring Cloud Edgware 版本。该版本解决了不少Bug,新增了不少新特性,本系列博客将为大家详细阐述在Spring Cloud Edgware中新增的特性。 本文为大家讲解如何配置Zuul的Hystrix线程池。…