У нас есть конфигурация Redis с двумя серверами Redis. У нас также есть 3 стража для мониторинга двух экземпляров и инициирования аварийного переключения при необходимости.
В настоящее время у нас есть процесс, в котором нам периодически приходится выполнять FLUSHALL на сервере Redis. Это блокирующая операция, которая занимает больше времени, чем время, отведенное нами для тайм-аута часовых. Другими словами, у нас есть наша конфигурация дозорного с:
sentinel down-after-milliseconds OurMasterName 5000
и выполнение redis-cli FLUSHALL на сервере занимает> 5000 миллисекунд, поэтому дозорные инициируют отработку отказа.
Мы признаем, что делать FLUSHALL не очень хорошо, и мы также знаем, что можем увеличить время ожидания после миллисекунд до, но для целей этого вопроса предположим, что ни один из этих вариантов не подходит.
Возникает вопрос: как мы можем выполнить FLUSHALL (или аналогичную операцию) БЕЗ того, чтобы наши часовые инициировали отработку отказа из-за блокировки FLUSHALL более чем на 5000 миллисекунд? Кто-нибудь сталкивался и решал эту проблему?