написать.
AWS Aurora RDS MySQL в два инстанса.
Один райт, другой рид + rds proxy.
Покатили кривой релиз с херовым query, он положил всю базу, ЦПУ в 100%, даже в консоль не зайти.
Было принято решение "сделать фейловер на второй инстанс(он слабее основного writer для экономии денег), подождать 5 минут, свичнутся обратно".
Проблема была решена.
Какие реальные действия должны были быть у нормальных ребят?
Может есть очевидные и правильные, чем свичить фейловер, искусственно сбрасывая кривой и жирный запрос.
Timeout на стороне базы на запросы. Тогда она сама этот все прибьет. Чаще бывает допустим 1 мин со стороны приложения и 5 мин со стороны базы. Есть еще метрики которые отвечают за число транзакций которые ждут и прочее. Они чуть быстрее могут сработать. А так да ребут базы :) Эффект автомобильной пробки Один затормозил и дальше все по цепочке Видел много много раз :) Еще помогает посмотреть метрики некоторые (попозже пришлю). Но если это прям 1 запрос первый так все сложил, то не спасет :) Бывает что в начале еще база пытается как то выжить
А ребут multiAZ базы лучше делать с галкой reboot with failover или без?
RDS и Aurora отличаются в этом плане RDS https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_RebootInstance.html я бы не сказал что какой то вариант лучше чем другой Но reboot просто перезапустит это всё, а with failover еще и поменяет AZ/DNS Некоторые приложения не умееют переживать такие вот обновления DNS и кешируют у себя данные Aurora как мне кажется лучше переживает подобные операции
У меня недавно была такая же ситуация с RDS MySQL. База multiAZ, встала колом от запросов из приложения. Сделал reboot базы без галки "Reboot with failover" и ребут длился минут 30. Я уже support issue успел открыть в enterprise support и там человек мне сочувствовал активно.
Ну вот Aurora очень хорошо переживает такие штуки. Можно даже все инстансы вообще удалить и пересоздать и всё за 5-10 минут 🙂 Не реклама, но я был доволен когда расчитал подробнее про то как это работает
Потому что там пол капотом совсем все другое)
Обсуждают сегодня