前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >2020-01-16 容错机制解析

2020-01-16 容错机制解析

作者头像
Albert陈凯
发布2020-02-14 14:01:11
1K0
发布2020-02-14 14:01:11
举报
文章被收录于专栏:Albert陈凯Albert陈凯

Dubbo集群容错机制解析 Dubbo的集群容错机制分为6种,分别是:FailOver,FailFast,FailSafe,FailBack,Forking,Broadcast。

常见容错机制:failover ,failsafe,failfase ,failback,forking,来源于阿里的定义。

1.FailOver:

失败自动切换,当出现失败,重试其它服务器。(缺省) 通常用于读操作,但重试会带来更长延迟。 可通过retries=”2”来设置重试次数(不含第一次)。 或者

或者

<dubbo:reference> <dubbo:method name="findFoo" retries="2" /> </dubbo:reference>

Failover 失败自动切换 当出现失败,重试其它服务器,通常用于读操作(推荐使用)。 重试会带来更长延迟。

2.FailFast

快速失败,只发起一次调用,失败立即报错。 通常用于非幂等性的写操作,比如新增记录。 注 :新增记录是非幂等性的写操作,因为每次新增都会使数据库产生一条新的记录;而删除操作是幂等性的操作,因为只要删除一次后,以后每次删除的结果都不会改变数据库的内容。

Failfast 快速失败 只发起一次调用,失败立即报错,通常用于非幂等性的写操作。 如果有机器正在重启,可能会出现调用失败 。

3.FailSafe

失败安全,出现异常时,直接忽略。 通常用于写入审计日志等操作。 注:可以理解为 This fail is very safe. 不会影响到系统的其他部分

Failsafe 失败安全 出现异常时,直接忽略,通常用于写入审计日志等操作。 调用信息丢失 可用于生产环境 Monitor。

4.FailBack

失败自动恢复,后台记录失败请求,定时重发。 通常用于消息通知操作。

Failback 失败自动恢复 后台记录失败请求,定时重发。通常用于消息通知操作 不可靠,重启丢失。 可用于生产环境 Registry。

5.Forking

并行调用多个服务器,只要一个成功即返回。 通常用于实时性要求较高的读操作,但需要浪费更多服务资源。 可通过forks=”2”来设置最大并行数。

Forking 并行调用多个服务器 只要一个成功即返回,通常用于实时性要求较高的读操作。 需要浪费更多服务资源 。

6.Broadcast

广播调用所有提供者,逐个调用,任意一台报错则报错。(2.1.0开始支持) 通常用于通知所有提供者更新缓存或日志等本地资源信息。 Forking 与 Broadcast 的区别:

Forking:同时并行调用多台服务器,有一台成功即为成功 Broadcast:逐个调用所有提供者(Provider),任一台报错则报错

Broadcast 广播调用,所有提供逐个调用,任意一台报错则报错。通常用于更新提供方本地状态 速度慢,任意一台报错则报错 。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档