1.Ribbon概念(负载均衡)
Ribbon是Netflix发布的开源项目,主要功能是提供客户端的软件负载均衡算法,是一个基于HTTP和TCP的客户端负载均衡工具。
Ribbon主要与RestTemplate对象配合起来使用,Ribbon会自动化配置RestTemplate对象,通过@LoadBalanced开启RestTemplate对象调用时的负载均衡。
2).Ribbon负载均衡策略

注:默认使用轮询:RoundRobinRule
3).负载均衡配置
在配置文件中配置;Ribbon.NFLoadBalancerRuleClassName
2.Hystrix断路器
1).Hystrix的概念
在微服务的架构中,很容易出现服务故障蔓延,从而引发的整个微服务系统的瘫痪
因此,为解决这一问题,引入的熔断器
熔断器:当被调用方长时间没有响应时,调用发直接返回一个错误信息即可,而不是长时间的等待,从而避免故障在分布式系统间的蔓延
Spring Cloud Hystrix实现了熔断器,线程隔离等一系列服务保护功能,该功能是基于Netflix开源框架Hystrix实现的,该框架的目标在于通过控制访问远程系统,服务和第三方库的节点,从而对延迟和故障提供容错性。Hystrix包含服务降级,服务熔断,服务监控,线程,信号隔离等功能
(自己理解:hystrix的作用,当微服务框架中的服务之间进行通信使,如果在指定时间内没有得到回应,则直接给该调用者返回一个错误信息,切断该服务,不再等待响应)

3).服务的降级
所谓服务降级,就是当服务熔断之后,服务端提供的服务不再将调用,此时有客户端自己准备一个降级方法,返回值代表服务器端的返回(降级就是不调用服务端的方法,转而调用降级方法)
4).服务的异常处理
当在调用服务提供者时,我们自身也有可能会抛出异常,默认情况下方法抛出的异常会自动进行服务降级(调用降级方法),交给服务降级中的方法区处理
注:当发生异常时,只需要在降级方法中添加一个Throwable类型的参数,就能获取到抛出的异常类型

5)服务的监控
熔断器监控:监控Hystrix的实时运行状态,通过它可以看Hystrix的各项指标信息,从而快速发现系统中存在的问题进而解决
5.1).熔断器监控的搭建
a.创建一个springboot工程
b.引入相关依赖

d.在启动类添加@EnableHystrixDashboard注解开启仪表盘功能

c.在application.properties配置文件中配置服务端口号(端口号自定义)

e.访问路径:http:端口号/hystrix

f.在被监控的服务系统中添加监控依赖

g.在配置文件中添加spring boot监控端点的访问权限
management.endpoints.web.exposure.include=hystrix.stream
或
management.endpoints.web.exposure.include=*
本文介绍了客户端负载均衡工具Ribbon的基本概念和负载均衡策略,强调了它与RestTemplate的配合使用。接着讨论了服务端的Hystrix断路器,解释了其在微服务架构中的作用,包括服务降级、异常处理和监控。最后提到了如何搭建和配置Hystrix监控仪表盘。
530

被折叠的 条评论
为什么被折叠?



