Как загрузить приложение баланса на AWS
Я немного разбираюсь в AWS, но не в полной мере. Если кто-то может заполнить мои пробелы, это будет хорошо.
Предположим, у меня есть веб-приложение A, использующее Amazon RDS B . У меня есть очередь в базе данных, так что все входящие запросы добавляют строки в очередь, и это выбирается моим фоновым процессом, который выбирает задания.
Для одного сервера все в порядке. я хочу знать, как спроектировать это приложение так, чтобы оно могло масштабироваться с использованием балансировщика нагрузки и автоматического масштабирования группы
Мои сомнения:
Я знаю, что группа Auto Scale может создавать новые экземпляры A в случае высокой нагрузки. Но как насчет RDS . Предположим, у меня есть 4 экземпляра Ec2, но RDS будет только 1. Если да, то как RDS сможет управлять нагрузкой из 4 экземпляров?
Другое дело, что у меня есть фоновый процесс, выбирающий задачи из таблицы очередей. как они могут масштабироваться с экземплярами. Любая идея о том, как я могу получить лучшую картину на этом
1 ответ
SF на самом деле не для архитектурных советов, но я дам вам несколько общих идей:
- Использование реальной системы очередей (SQS) вместо базы данных будет более надежным. Если вы продолжаете использовать RDS, возможно, все в порядке, просто заблокируйте таблицу, прежде чем вы получите следующее задание в "очереди".
- Настройте автоматическое масштабирование в зависимости от размера очереди. Прочтите документацию о том, как. Вы также можете масштабировать в зависимости от использования процессора экземпляра.
- Масштабируйте свое веб-приложение с помощью эластичного балансировщика нагрузки