Актуальные темы
#
Bonk Eco continues to show strength amid $USELESS rally
#
Pump.fun to raise $1B token sale, traders speculating on airdrop
#
Boop.Fun leading the way with a new launchpad on Solana.
Никогда не запускайте запросы без таймаута.
Один единственный злонамеренный запрос или всплеск нагрузки могут привести к зависаниям или простоям приложения без них. Давайте подумаем, почему.
Представьте случай, когда в наше приложение случайно попадает долгий запрос. База данных обычно обрабатывает только краткосрочные запросы (10 мс или меньше), и вдруг у нас появляется новый запрос, который занимает 1000 мс на выполнение.
Это не только будет потреблять ресурсы, но и увеличит количество одновременных транзакций. Мы либо достигнем пределов соединений, пределов транзакций, либо используем 100% процессора / IOPS базы данных.
Теперь рассмотрим ту же ситуацию, но мы устанавливаем таймаут в 250 мс для каждой транзакции (на стороне базы данных), с логикой повторных попыток с экспоненциальным увеличением времени ожидания + джиттером (на стороне приложения). Мы теперь ограничили радиус поражения любого отдельного запроса. Долгие запросы будут завершены, а логика увеличения времени ожидания минимизирует риск "громовых стад".
Мониторя эти таймауты, мы можем быстро идентифицировать проблемный запрос и откатить изменения.

Топ
Рейтинг
Избранное
