我不明白有一个暂停和后退策略的用途。有人告诉我它已经习惯了,但我不明白。
在这种情况下,超时将允许服务尝试建立连接一段时间,然后放弃。BackOff策略(指数后退)将尝试建立连接,如果它失败,将等待一段时间,然后再试一次,如果失败,则等待相同的时间或更长的时间。
如果BackOff策略将在超时后启动连接,那么超时又有什么用呢?如果一个服务只使用回退,我就无法预见它与另一个使用回退和超时的服务之间的区别。谁能解释一下这个优点吗?
谢谢
发布于 2018-10-17 17:44:57
退避策略和默认超时是两个完全独立的选项,它们不交互。
在gRPC的语义中,您可以建立到服务器的单个连接,然后在该连接上发出多个独立的请求。默认超时指示客户端在报告其失败之前应让任何单个请求运行多长时间。另一方面,退避策略则指示客户端在丢失单个连接时应如何重新建立该连接。
发布于 2018-10-12 04:27:03
具有多个服务的网络中的失败可能会触发许多重试。在恢复服务时,指数退避会减少网络负载,并有助于防止重试本身成为问题的一部分。
将随机性添加到退避计时器也有助于重试,这可能会影响到对方。例如,在像以太网这样的共享媒体网络上使用这一方法,以减少两个节点检测到冲突并正在重传时重复冲突的可能性。
https://stackoverflow.com/questions/52772182
复制相似问题