12. 【gRPC系列学习】失败重试Retry原理

本节分析gRPC的失败重试机制,从原理、源码上进行深入分析,下节编写测试代码,验证Retry机制。
本系列gRPC学习大纲:
在这里插入图片描述

官方文档在失败重试方面的讲解比较透彻,下面内容是对官方文档的整理、归类、总结。

1. 两种重试策略简介

1)retry策略

retry策略:发送RPC,服务端应用层返回指定的异常码后,客户端的LIB层继续重试,直到到达重试次数,返回给客户端应用层。下图非常好的说明retry策略。

这里出现Application和Lib层,简单理解我们前几节编写的客户端代码、服务端代码都为Application,gRPC内部实现的通信逻辑叫做Lib层。

在这里插入图片描述
2)hedging(对冲)策略
对冲策略不需要等待前一个请求返回,并发访问服务端,这需要服务端Application保证幂等性,否则多个请求到达服务端执行,将影响业务逻辑。

原始 RPC 发送完成,在 hedgingDelay 过去而没有成功响应

猜你喜欢

转载自blog.csdn.net/xjmtxwd24/article/details/128403662