Dubbo集群容错 た 入场券 2022-09-09 12:59 124阅读 0赞 Dubbo官网:[dubbo 2.7 集群容错][dubbo 2.7_] 集群容错指的是,当消费者调用提供者集群时发生异常的处理方案 # 一、Dubbo内置的容错策略 # ## (1) Failover ## **故障转移策略**。当消费者调用提供者集群中的某个服务器失败时,其会自动尝试着调用其它服务器。该策略通常用于读操作,例如,消费者要通过提供者从DB中读取某数据。但重试会带来服务延迟 ## (2) Failfast ## **快速失败策略**。消费者端只发起一次调用,若失败则立即报错。通常用于非幂等性的写操作,比如新增记录。 幂等:在请求参数相同的前提下,请求一次与请求n次,对系统产生的影响是相同的 GET:幂等 POST:非幂等 PUT:幂等 DELETE:幂等 ## (3) Failsafe ## **失败安全策略**。当消费者调用提供者出现异常时,直接忽略本次消费操作。该策略通常用于执行相对不太重要的服务,例如,写入审计日志等操作 ## (4) Failback ## **失败自动恢复策略**。消费者调用提供者失败后,Dubbo会记录下该失败请求,然后定时自动重新发送该请求。该策略通常用于实时性要求不太高的服务,例如消息通知操作 ## (5) Forking ## **并行策略**。消费者对于同一服务并行调用多个提供者服务器,只要一个成功即调用结束并返回结果。通常用于实时性要求较高的读操作,但其会浪费较多服务器资源 ## (6) Broadcast ## **广播策略**。广播调用所有提供者,逐个调用,任意一台报错则报错。通常用于通知所有提供者更新缓存或日志等本地资源信息 # 二、配置集群容错策略 # **容错策略**可以**设置**在**消费者端**,也可以**设置**在**提供者端**。若消费者与提供者均做了设置,**则消费者端的优先级更高** ## (1) 设置重试次数 ## ### A、提供者端设置 ### **服务类级别** ![20190801000619777.png][] ** 服务方法级别** ![20190801000843513.png][] **B、消费者端设置** **服务类级别** ![20190801001033743.png][] ** 服务方法级别** ![20190801001113167.png][] ## **(2) 容错策略设置** ## ### **A、提供者端** ### ![20190801001807121.png][] ### ** B、消费者端** ### ![20190801001624137.png][] [dubbo 2.7_]: https://dubbo.apache.org/zh/docs/v2.7/user/examples/fault-tolerent-strategy/#m-zhdocsv27userexamplesfault-tolerent-strategy [20190801000619777.png]: /images/20220829/66c39c7b45e24ef981cfb07afb363496.png [20190801000843513.png]: /images/20220829/b90e35e7ba614e4c9354cd282e89ba7c.png [20190801001033743.png]: /images/20220829/a5782aac36e64bcdaa194d06f19dffb8.png [20190801001113167.png]: /images/20220829/570d4287c8914c2aa786952300687df3.png [20190801001807121.png]: /images/20220829/9be5bd3615f64712bd445a09ec6ed98c.png [20190801001624137.png]: /images/20220829/b6d34182a2684abaa87a94ceed7c86c3.png
还没有评论,来说两句吧...