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

Как загрузить приложение балансировки нагрузки на AWS

Я немного разбираюсь в AWS, но не в полной мере. Если кто-то сможет заполнить мои пробелы, это будет хорошо.

Предположим, у меня есть веб-приложение A, использующее Amazon RDS B. У меня есть очередь в базе данных, поэтому все входящие запросы добавляют строку в очередь, и это выбирается моим фоновым процессом, который выбирает задания.

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

Мои сомнения:

  1. Я знаю, что группа Auto scale может создавать новые экземпляры A в случае высокой нагрузки. А как же RDS. Предположим, у меня есть 4 экземпляра Ec2, но RDS будет только 1. Если да, то как RDS может управлять нагрузкой с 4 экземпляров?

  2. Другое дело, что у меня есть фоновый процесс, собирающий задачи из таблицы очереди. как они могут масштабироваться с экземплярами. Любая идея о том, как я могу получить лучшее изображение на этом

SF на самом деле не для архитектурных советов, но я дам вам несколько общих идей:

  • Более надежным было бы использование реальной системы очередей (SQS), а не базы данных. Если вы продолжаете использовать RDS, это, вероятно, нормально, просто заблокируйте таблицу перед тем, как получить следующее задание в «очереди».
  • Настройте автоматическое масштабирование в зависимости от размера очереди. Прочтите документацию, как это сделать. Вы также можете масштабировать в зависимости от использования ЦП экземпляром.
  • Масштабируйте свое веб-приложение с помощью эластичного балансировщика нагрузки