https://aws.amazon.com/cn/blogs/architecture/exponential-backoff-and-jitter/
补偿策略:
// Back off strategies
enum BackOffStrategy {
// NoJitter makes the backoff sequence strict exponential.
NoJitter,
// FullJitter applies random factors to strict exponential.
FullJitter,
// EqualJitter is also randomized, but prevents very short sleeps.
EqualJitter,
// DecorrJitter increases the maximum jitter based on the last random value.
DecorrJitter
}
参考实现:
java:
https://github.com/sticnarf/client-java/blob/master/src/main/java/org/tikv/common/util/BackOffFunction.java
https://github.com/sticnarf/client-java/blob/master/src/main/java/org/tikv/common/util/BackOffer.java
golang: