Лучший подход для автоматического масштабирования (избежание простоя) - PullRequest
0 голосов
/ 26 декабря 2018

Мы используем AWS для нашего веб-приложения и стремимся масштабировать его для миллионов пользователей.Прямо сейчас мы используем AWS Beanstalk «Auto Scaling», где я определил минимальное, максимальное количество экземпляров для масштабирования.

Проблема: 1- Нам нужно масштабировать его для 1 миллиона пользователей + 2 - Наше автоматическое масштабирование работает, нокогда у нас запускается новый экземпляр (установка приложения занимает немного больше времени), и это означает, что запросы пользователей также начинают поступать туда (получает пустой ответ при установке приложения).

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

PS: мы используем Micro-Services Architecture + API GATEWAY.

Заранее спасибо.

1 Ответ

0 голосов
/ 27 декабря 2018

Определение «1 миллион плюс пользователей» расплывчато.Означает ли это, что миллион пользователей одновременно требуют сложного доступа к базе данных или просто миллион пользователей, обращающихся к файлам в хранилище S3?Определение требований к производительности является первым шагом в разработке надежных, безопасных и отказоустойчивых систем.

Ключ к хорошему автоматическому масштабированию имеет несколько факторов:

  1. Проверка работоспособности.Ваши проверки работоспособности будут определять, когда подсистема балансировки нагрузки начнет отправлять запросы в ваши бэкэнд-экземпляры.Ваши проверки работоспособности должны быть точными при определении того, доступен ли экземпляр для обслуживания и сколько времени ждать, прежде чем проверять работоспособность новых экземпляров (время запуска экземпляра).
  2. Запуск и настройка экземпляра.Вам нужно, чтобы ваши экземпляры выходили в сеть как можно быстрее.Обычно это означает создание предварительно настроенного AMI, который не требует загрузки и установки обновлений, пакетов или приложений.
  3. Управление.Внезапное массовое увеличение трафика обычно предсказуемо.Объявления о продуктах, маркетинговые видеоролики и т. Д. Обычно можно запланировать заранее, а предварительные прогревы ваших платформ можно выполнить заранее, а затем отключить после события.

Распространенное заблуждение, связанное с автоматическим масштабированием, заключается в том, что масштабирование можно выполнить мгновенно.,Это не вариант.Чтобы справиться с огромным увеличением трафика, вам необходимо либо предварительно прогреть среду, либо иметь дополнительную избыточную емкость для обработки мгновенных всплесков.

Автоматическое масштабирование хорошо работает с трафиком, который со временем растет и уменьшается, а не все сразу.За исключением серверных платформ, instant on для вычислительных сервисов отсутствует.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...