dubbo服务降级与限流

前言

作为RPC框架,dubbo在调用过程中不可避免的会出现各种异常问题,在使用springcloud进行微服务治理时,会接触到hystrix,sentinel等服务限流降级框架,同样对于dubbo来说,使用过程中也需要考虑这方面的问题

1、集群容错

集群容错指的是,当消费者调用提供者集群时发生异常的处理方案,以上一篇的小demo为例,当consumer端调用hello这个服务时,如果正好调到了其中的的一台机器上的服务挂掉了怎么办?

在实际部署中,为了保证服务的高可用通常服务会部署多份,当某台机器的服务挂掉了,为了保证服务的可用性,从消费端来说,就可以有很多策略,下面我们简单列举几种dubbo提供的解决方案

Failover 故障转移策略
当消费者调用提供者集群中的某个服务器失败时,其会自动尝试调用其它服务器。该策略通常用于读操作,但重试可能会带来服务延迟

Failfast 快速失败策略
消费者端只发起一次调用,若失败则立即报错。通常用于非幂等性的写操作,比如新增记录,很明显通过这种操作可以避免在多节点重试操作带来的数据不一致性

Failsafe 失败安全策略
当消费者调用提供者出现异常时,直接忽略本次操作,该策略通常在分布式 RPC 系统框架中用于执行相对不太重要的服务

Failback 失败自动恢复策略
消费者调用提供者失败后,Dubbo 会记录下该失败请求,然后定时自动重新发送该请求。该策略通常用于实时性要求不太高的服务&

你可能感兴趣的:(dubbo,dubbo服务降级与限流,dubbo服务降级,dubbo服务限流)