NServiceBus
NServiceBus copied to clipboard
Support for "jittered" delayed retries
Through delayed retries, we currently support the exponential backoff strategy, allowing retries to progressively be delayed for longer intervals. However, in high-throughput scenarios, it's beneficial to add jitter to the delayed retry strategy, to prevent retries from causing further spikes of load to already struggling (sub)systems.
Related information
Similar issue was raised a long time ago:
- https://github.com/Particular/NServiceBus/issues/5012
Implementation:
- https://github.com/Particular/EndToEnd/blob/master/src/PerformanceTests/Common/ErrorProfile.cs
This can have help in "spreading" massive amounts of scatter/gather response processing failures caused by optimistic concurrency control failures and make "waves" of retries "longer" thus reduce failures.