Post Thumbnail

Экспоненциальная задержка с добавлением случайного разброса (jitter) — это стандартный подход при вызовах сервисов.

Но его можно сделать гораздо проще с помощью таблицы предопределённых значений. Такой подход обладает несколькими преимуществами. Во-первых, код становится значительно проще — исчезает необходимость отслеживать состояние между итерациями цикла. Во-вторых, логика работы становится более прозрачной — сразу видно, какие задержки будут применяться. В-третьих, модификация поведения требует лишь правки значений в таблице, что снижает вероятность ошибок. Наконец, подобная реализация более надёжна — ошибка в расчётах не будет накапливаться в последующих итерациях.

Когда дело касается небольшого фиксированного набора значений, табличный подход часто оказывается предпочтительнее генерации значений в рантайме. Это делает код чище, понятнее и устойчивее к ошибкам.

Похожее

Post Thumbnail

HTTP/2 h2c

Обычно HTTP/2 работает только поверх TLS через HTTPS. Но h2c позволяет использов...

Post Thumbnail

let-go

Ну вы поняли, сегодня пятница и для вас аж второй язык программирования за день ...

Post Thumbnail

Язык rye

Rye - это такой небольшой встраиваемый язык, который удобно использовать для кон...

Post Thumbnail

Врап

Автор предлагает паттерн для Go-сервисов: вынести обвязку и все связанное с деко...