[ 
https://issues.apache.org/jira/browse/HTTPCLIENT-2272?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Arturo Bernal updated HTTPCLIENT-2272:
--------------------------------------
    Description: 
Exponential Backoff Strategy:

 

As part of our ongoing efforts to improve the reliability and performance of 
our system, we want to add support for exponential backoff in the 
{{AIMDBackoffManager}} class.

Exponential backoff is a common strategy used in networking to reduce the 
number of retries and failures during high load or congested periods. The basic 
idea is to increase the delay between retries exponentially after each attempt, 
instead of using a fixed delay as in linear backoff. This helps to reduce the 
load on the server and improve overall system stability.

The implementation of the exponential backoff strategy will be similar to the 
existing linear backoff strategy, but with some modifications to the delay 
calculation. The delay between retries will be calculated using an exponential 
function with a configurable base value and multiplier. The base value will be 
the initial delay, and the multiplier will be the factor by which

the delay increases after each attempt.

 

Linear Backoff Strategies:

 

Currently, our AIMDBackoffManager only supports the Additive Increase 
Multiplicative Decrease (AIMD) algorithm for managing connection pool sizes. 
However, we would like to introduce additional Linear Backoff Strategies to 
improve our connection management and provide better resilience to network 
failures.

The proposed Linear Backoff Strategies will allow us to gradually increase or 
decrease the connection pool size by a fixed amount in response to failed 
attempts or successful probes. This approach is more predictable than AIMD and 
can be more appropriate for certain network topologies or failure modes.

  was:
As part of our ongoing efforts to improve the reliability and performance of 
our system, we want to add support for exponential backoff in the 
{{AIMDBackoffManager}} class.

Exponential backoff is a common strategy used in networking to reduce the 
number of retries and failures during high load or congested periods. The basic 
idea is to increase the delay between retries exponentially after each attempt, 
instead of using a fixed delay as in linear backoff. This helps to reduce the 
load on the server and improve overall system stability.

The implementation of the exponential backoff strategy will be similar to the 
existing linear backoff strategy, but with some modifications to the delay 
calculation. The delay between retries will be calculated using an exponential 
function with a configurable base value and multiplier. The base value will be 
the initial delay, and the multiplier will be the factor by which the delay 
increases after each attempt.


> Add Exponential Backoff Strategy and Linear Strategy  to AIMDBackoffManager
> ---------------------------------------------------------------------------
>
>                 Key: HTTPCLIENT-2272
>                 URL: https://issues.apache.org/jira/browse/HTTPCLIENT-2272
>             Project: HttpComponents HttpClient
>          Issue Type: Improvement
>            Reporter: Arturo Bernal
>            Priority: Major
>          Time Spent: 0.5h
>  Remaining Estimate: 0h
>
> Exponential Backoff Strategy:
>  
> As part of our ongoing efforts to improve the reliability and performance of 
> our system, we want to add support for exponential backoff in the 
> {{AIMDBackoffManager}} class.
> Exponential backoff is a common strategy used in networking to reduce the 
> number of retries and failures during high load or congested periods. The 
> basic idea is to increase the delay between retries exponentially after each 
> attempt, instead of using a fixed delay as in linear backoff. This helps to 
> reduce the load on the server and improve overall system stability.
> The implementation of the exponential backoff strategy will be similar to the 
> existing linear backoff strategy, but with some modifications to the delay 
> calculation. The delay between retries will be calculated using an 
> exponential function with a configurable base value and multiplier. The base 
> value will be the initial delay, and the multiplier will be the factor by 
> which
> the delay increases after each attempt.
>  
> Linear Backoff Strategies:
>  
> Currently, our AIMDBackoffManager only supports the Additive Increase 
> Multiplicative Decrease (AIMD) algorithm for managing connection pool sizes. 
> However, we would like to introduce additional Linear Backoff Strategies to 
> improve our connection management and provide better resilience to network 
> failures.
> The proposed Linear Backoff Strategies will allow us to gradually increase or 
> decrease the connection pool size by a fixed amount in response to failed 
> attempts or successful probes. This approach is more predictable than AIMD 
> and can be more appropriate for certain network topologies or failure modes.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@hc.apache.org
For additional commands, e-mail: dev-h...@hc.apache.org

Reply via email to