public class AIMDBackoffManager extends Object implements BackoffManager
AIMDBackoffManager应用加法增加,乘法减少(AIMD)来管理允许给定主机的连接数量的动态限制。 您可能需要尝试冷却时间和退避因子的设置,以获得所需的自适应行为。
一般来说,较短的冷却时间会导致更稳定的状态变化,但反应速度更快,而较长的冷却时间会导致更稳定的平衡行为,但反应时间较慢。
同样,较高的退休因素可以以牺牲客户之间的公平为代价来促进可用能力的更大利用。 较低的退避因素使得客户之间的容量能够平等分配(公平)更快地发生,而在短期内不再需要更多的服务器容量。
| Constructor and Description |
|---|
AIMDBackoffManager(ConnPoolControl<HttpRoute> connPerRoute)
创建 AIMDBackoffManager以管理由给定的ConnPoolControl表示的每主机连接池大小。
|
| Modifier and Type | Method and Description |
|---|---|
void |
backOff(HttpRoute route)
当我们决定使用连接的结果应该被解释为退避信号时调用。
|
void |
probe(HttpRoute route)
当我们确定使用连接的结果已经成功,并且我们可以探索更多的连接时调用。
|
void |
setBackoffFactor(double d)
设置退出时使用的因子;
新的每个主机的限制大致是这个因素的当前最大倍数。
|
void |
setCooldownMillis(long l)
设置在给定主机的池大小调整之间等待的时间量(以毫秒为单位),以允许足够的时间使调整生效。
|
void |
setPerHostConnectionCap(int cap)
设置绝对最大每主机连接池大小,以探测到;
默认为2(默认每个主机最大值)。
|
public AIMDBackoffManager(ConnPoolControl<HttpRoute> connPerRoute)
AIMDBackoffManager以管理由给定的ConnPoolControl表示的每主机连接池大小。
connPerRoute - 要管理的每个主机路由最大值
public void backOff(HttpRoute route)
BackoffManager复制
backOff在接口
BackoffManager
public void probe(HttpRoute route)
BackoffManager复制
probe在接口
BackoffManager
public void setBackoffFactor(double d)
Math.floor适用于非整数结果的情况,以确保我们实际减少池大小。
然而泳池大小从不降低到1以下。
默认为0.5。
d - 必须在0.0和1.0之间,独占。
public void setCooldownMillis(long l)
l - 必须是积极的
public void setPerHostConnectionCap(int cap)
cap - 必须> = 1
Copyright © 1999–2017 The Apache Software Foundation. All rights reserved.