摘要:
了解服务雪崩效应产生的原因和应对的策略。 熟悉Hystrix的使用及其工作原理。 熟悉如何在Feign中使用Hystrix进行服务降级。 熟悉Hystrix Dashboard和Turbine的使用。 在微服务架构系统中,可能被拆分出很多的服务,如电商项目中的订单服务、商品服务、库存服务等,这些服务 阅读全文
摘要:
Ribbon策略测试 在第2节中我们进行Ribbon第一个实例的时候就发现了Ribbon从服务清单里面调用服务默认是通过轮询的方式,接下来我们将通过修改一些配置来体验其他的负载均衡策略。 首先,我们需要在订单服务的application.yml文件中配置其他的负载均衡策略,如程序清单12-8所示。 阅读全文
摘要:
通过上一节解析Ribbon原理我们知道,在BaseLoadBalancer中通过IRule接口定义了很多的负载均衡策略,所以我们可以通过查看IRule的接口类实现关系来看一下Ribbon有哪些负载均衡策略,如图所示。 IRule接口的直接子类是AbstractLoadBalancerRule,但是它 阅读全文
摘要:
之前我们在使用RestTemplate进行服务交互的时候,在其注入的bean上添加了@LoadBalanced注解,这样它就默认是使用Ribbon进行负载均衡处理。 但是RestTemplate是Spring提供的,Bean跟Ribbon客户端负载均衡又有什么关系呢? 下面我们就来深入地研究Ribb 阅读全文
摘要:
Ribbon是Netflix公司提供的一个在Spring Cloud中免费使用的客户端负载均衡器组件。 它在集群中为各个客户端之间的通信提供支持,可以控制、管理HTTP和TCP客户端的负载均衡。 Ribbon从Eureka注册获取访问服务提供者地址列表后,就可基于某种负载均衡算法,自动地帮助服务消费 阅读全文
摘要:
负载均衡(Load Balance)是实现系统高可用、缓解网络压力以及处理能力扩容的重要手段之一,负载均衡可以帮我们把一些网络请求的压力“均衡”到所有的服务器进行处理。 当然,因为多台服务器的承载能力各不相同,有的硬件配置高而有的硬件配置低,有的网络带宽高而有的网络带宽低,所以负载均衡是在保证服务器 阅读全文
摘要:
Zuul限流是通过引入spring-cloud-zuul-ratelimit依赖实现的。它提供了下面几种限流类型。 (1)用户(USER),根据认证用户或匿名用户限流。 (2)客户端IP地址(ORIGIN),根据客户端IP地址限流。 ( 3)请求路径(URL),根据请求URL限流。 (4)根据服务限 阅读全文
摘要:
Zuul可以实现对所有发往后端微服务请求的过滤和拦截。Zuul主要有4种类型的过滤器。 (1)pre:预过滤器,在路由分发请求前调用。 (2)post:后过滤器,在路由分发请求后调用。 (3)route:路由过滤器,用于路由请求分发。 (4)error:错误过滤器,在处理请求发生错误时调用。 怎样使 阅读全文
摘要:
我们现在搭建一个Zuul网关,实现在第9章创建的商品和订单两个微服务的接口通过网关统一访问。同样,先创建一个Spring Boot项目,命名为zuul,如图所示。 然后,在“Dependencies”界面中勾选“Spring Cloud Routing”中的“Zuul [Maintenance]”; 阅读全文
摘要:
Zuul是Netflix公司提供的微服务网关,它可以和Eureka、Ribbon、Hystrix等组件配合使用,实现认证和安全、性能监测、动态路由、负载均衡、压力测试、静态资源处理等功能。 Gateway是Spring官方基于Spring 5.0、Spring Boot 2.0和Project Re 阅读全文