com.linkedin.norbert.network.HeavyLoadException
孟永望
2023-12-01
See https://github.com/jhartman/norbert/commits/master
1. If there's a networking exception (opening or writing to a channel), mark the server offline using exponential backoff
2. If the server's queue is full, the server throws a HeavyLoadException. The client will detect this and start an exponential backoff.
3. The client tracks the median response time per server (mt) and the average of the medians for the cluster, (ct). If mt > ct * a + b, we'll mark the node offline. This is not done using exponential backoff, it's simply done per statistics refresh cycle (200ms).