当代码在等待某些延迟时间不确定的条件时,许多人选择使用指数退避,即等待N秒,检查条件是否满足;如果不满足,则等待2N秒,再次检查条件等。相对于在恒定/线性递增的时间段内进行检查,这种方法的好处是什么?
这是我看到的一些示例代码。int expBackoff = (int) Math.pow(2, retryCount); int maxJitter = (int) Math.ceil(expBackoff*0.2); int finalBackoff = expBackoff + rando...
我正在尝试实现一个基于Spring Boot的Kafka消费者,它具有非常强的消息传递保证,即使出现错误也是如此。 必须按顺序处理来自分区的消息, 如果消息处理失败,则应暂停对特定分区的消耗, 应该使用退避重试处理,直到成功为止。 我们当前的实现满足这些要求: @Bean publi...
“cloud.google.com/go/pubsub”库最近发布了一个新的“RetryPolicy”服务器端特性支持(在v1.5.0中,参见https://github.com/googleapis/google-cloud-go/releases/tag/pubsub%2Fv1.5.0),...