集群调用容错的套路
大约 2 分钟
集群调用容错的套路
在日常的工作和系统设计中,我们经常会使用RPC调用,而我们所部署的服务一般也都是集群模式。我们知道在分布式系统架构中,因为有很多的可能性,比如服务发布重启,网络抖动等问题,都可能会导致RPC调用失败,一般情况下我们的集群调用设计都需要有一定的容错策略。本篇文章就总结一下常见的集群调用容错套路:
Failover Cluster
Failfast Cluster
Failsafe Cluster
Failback Cluster
Forking Cluster
Broadcast Cluster
Failover Cluster
Failover Cluster
模式就是 失败自动切换,当出现失败,重试其它服务器,这种一般通常用于幂等操作,比如读操作,但重试会带来更长延迟。一般实现这种模式的时候,需要注意的是重试的时候优先剔除刚刚出问题的节点,优先选择其余节点。
Failfast Cluster
Failfast Cluster
是快速失败,只发起一次调用,失败立即报错。通常用于非幂等性的写操作,比如新增记录。
Failsafe Cluster
Failfast Cluster
是失败安全,出现异常时,直接忽略,就是fire and forget
。比如一些场景下写入审计日志等操作,失败了也就失败了,可以忍受。
Failback Cluster
Failback Cluster
是失败自动恢复,异步记录失败请求,定时重发。通常用于消息通知操作。
Forking Cluster
Forking Cluster
并行调用多个服务器,只要其中一个成功即返回。这种通常用于实时性要求较高的读操作,但需要浪费更多服务资源。
Broadcast Cluster
Broadcast Cluster
是广播调用。就是广播请求到所有提供者,逐个调用,任意一台报错则报错,通常用于通知所有提供者更新缓存或日志等本地资源信息。
版权申明
本站点所有内容,版权均归https://wenchao.ren所有,除非明确授权,否则禁止一切形式的转载协议
打赏
