Назад | Перейти на главную страницу

Решение с автоматическим масштабированием для SQL-сервера в облаке

У меня есть проект, работающий на AWS с использованием EC2 для веб-серверов и SQL-сервера. Использование проекта претерпевает сезонные изменения. Существует очень ограниченное время (обычно несколько дней в году), когда наблюдается высокая активность (сотни запросов в секунду). В остальное время активность очень низкая.

Я ищу облачный продукт, совместимый с SQL, который при необходимости будет автоматически масштабироваться. Я надеюсь, что мне потребуются минимальные изменения в моем коде, чтобы адаптироваться к этому решению. Я знаю, что могу использовать различные виды сервисов автоматического масштабирования с более обширными изменениями кода.

В этом смысле Amazon RDS не является эластичным - это один из наименее эластичных сервисов Amazon. Вы можете увеличить размер экземпляра во время его работы, но это может занять некоторое время (от минут до часов). Если вы планируете это сделать, вам лучше всего использовать установку с несколькими зонами доступности, так как таким образом новый экземпляр создается из резервной базы данных, а не из главной. При одиночной АЗ мастер может сделать паузу на минуту. Azure во многом похож.

К сожалению, я не думаю, что нужное вам решение существует в AWS. Вам придется вручную масштабировать базу данных до этих пиков, или вы можете масштабировать ее с помощью реплик чтения. Реплики чтения обычно требуют изменений в приложении.

Вы можете изменить архитектуру с учетом этого, используя NoSQL, Redis / Memcached или какую-либо другую технологию, построенную для масштабирования.