Масштабирование вашей базы данных Redis Cloud Pro теперь происходит значительно быстрее и бережнее по отношению к вашему приложению, при этом сам процесс масштабирования не изменился.
Спрос редко бывает предсказуемым. Акция становится популярной, продукт становится вирусным, открывается новый регион или наступает «Черная пятница», и трафик растет быстрее, чем кто-либо ожидал. Когда это происходит, ваш уровень данных должен расти вместе с ним, а затем возвращаться в исходное состояние, когда активность снижается.
Однако изменение емкости не должно превращаться в операционное событие, к которому нужно готовиться заранее. Когда спрос меняется, вы должны иметь возможность быстро масштабировать свою базу данных, не создавая ненужных сбоев для приложения, которое продолжает обслуживать ваших клиентов.
Smooth Scaling улучшает этот процесс, не меняя привычный вам порядок работы. Вы по-прежнему увеличиваете размер набора данных или пропускную способность, когда вам нужно больше ресурсов, и уменьшаете их, когда они не нужны. Изменяется то, что Redis Cloud Pro делает «под капотом» этого запроса. Масштабирование теперь выполняется гораздо эффективнее, сокращая время процесса и уменьшая влияние на работающее приложение во время внесения изменений.
Основано на атомарной миграции слотов
Масштабирование кластеризованной базы данных Redis требует большего, чем просто добавление или удаление емкости. Redis также должен перераспределить данные в соответствии с новой конфигурацией, пока база данных продолжает обслуживать реальный трафик.
Redis организует ключи по хеш-слотам, которые распределяются между шардами. Достижение новой конфигурации требует перемещения некоторых из этих слотов между шардами, и объем данных, которые необходимо переместить, может существенно повлиять на трудоемкость операции масштабирования.
Smooth Scaling меняет способ выполнения этого перемещения в Redis Cloud Pro. Оно основано на атомарной миграции слотов (Atomic Slot Migration, ASM) — функции, представленной в Redis 8.4 и уже доступной в версии Redis с открытым исходным кодом.
Благодаря ASM, Redis Cloud Pro может перемещать отдельные слоты напрямую туда, где они должны находиться, и достигать запрошенной вами конфигурации, затрагивая только те данные, которые необходимо переместить. Каждый слот передается за один четкий шаг, вместо прохождения через дополнительные промежуточные состояния.
Результатом является более точный процесс масштабирования с меньшим количеством ненужных перемещений данных.
Если вам интересно узнать о технологии более подробно, наша инженерная команда подготовила глубокий разбор того, как работает ASM в Redis с открытым исходным кодом: «Атомарная миграция слотов в Redis 8.4». В Redis Cloud Pro все это выполняется автоматически для вас.
Что это означает на практике
Операции масштабирования завершаются быстрее. Smooth Scaling значительно сокращает время масштабирования, в некоторых случаях в разы. Выигрыш наиболее заметен, когда запрашиваемое изменение емкости требует лишь небольшой корректировки конфигурации базы данных, так как перемещать нужно меньший объем данных. Точное улучшение зависит от размера вашего набора данных, вносимых изменений и вашей рабочей нагрузки.
Ваше приложение чувствует это меньше. Перемещение меньшего объема данных также означает меньшую активность по миграции, происходящую параллельно с вашей рабочей нагрузкой. Ваши клиенты видят меньше перенаправлений и меньше прерываний во время масштабирования, при этом снижается риск того, что операция затянется настолько, что возникнет таймаут и произойдет разрыв соединений. В ходе нашего тестирования Smooth Scaling приводил к меньшим просадкам пропускной способности и меньшим скачкам задержек (tail latency), хотя точный результат зависит от конкретной операции и конфигурации вашей базы данных.
В вашем коде ничего не меняется. Smooth Scaling полностью реализован внутри механизмов масштабирования Redis Cloud Pro. Он не меняет команды Redis и не меняет способ подключения или взаимодействия ваших приложений с базой данных. Вам не нужно ничего переписывать или внедрять новые интерфейсы.
Какие базы данных получают Smooth Scaling
Smooth Scaling постепенно внедряется во всех учетных записях Redis Cloud Pro. Как только функция станет доступна для вашей учетной записи, она будет автоматически включена для любой базы данных, соответствующей следующим условиям:
- Версия базы данных Redis 8.4 или выше
- Использование политики хеширования Redis (вариант по умолчанию)
- База данных на основе оперативной памяти (базы данных Active-Active и Redis Flex в настоящее время не поддерживаются)
Вам не нужно запрашивать, настраивать или менять что-либо для включения этой функции. Никаких критических изменений нет.
Базы данных, использующие стандартные или пользовательские политики хеширования, продолжают масштабироваться точно так же, как и сегодня, никаких действий от вас не требуется. Если вы хотите понять, как работают политики хеширования и какая из них используется в вашей базе данных, обратитесь к документации по кластеризации Redis Cloud.
Емкость тогда, когда она вам нужна
Смысл всего этого прост. Масштабирование должно быть тем, к чему вы прибегаете без колебаний, а не операцией, к которой нужно готовиться и которой нужно опасаться. Когда ваш трафик растет, вы должны иметь возможность быстро и уверенно добавить емкость, а когда он снижается — так же легко уменьшить ее.
Smooth Scaling приближает Redis Cloud Pro к этому идеалу. Тот же рабочий процесс, но значительно более эффективное поведение «под капотом».
Попробуйте Redis Cloud или свяжитесь с нашей командой, чтобы обсудить масштабирование вашей рабочей нагрузки.









