Задача очистки с KEYS cart:* на две секунды останавливала Redis и ломала оплату
В течение ноября оплата на сайте падала короткими всплесками примерно каждые десять минут: Redis-задача очистки раз в десять минут выполняла KEYS cart:* по 40 млн ключей, блокируя однопоточный Redis на 1–2 секунды. Клиент оплаты с таймаутом 500 мс не успевал, и все запросы в очереди падали одновременно.
- KEYS cart:* выполнялся каждые 10 минут и занимал 1–2 секунды
- К ноябрю в инстансе было около 40 млн ключей вместо сотен тысяч
- Клиент оплаты с таймаутом 500 мс ронял все запросы в очереди
- Задачу перевели на SCAN с COUNT 1000 и sorted set по времени обновления
Читать дальше
Гаджеты