AWS: Можно ли рассмотреть возможность использования нескольких экземпляров EC2 и RDS для одного продукта в качестве горизонтального масштабирования?

AWS: Можно ли рассмотреть возможность использования нескольких экземпляров EC2 и RDS для одного продукта в качестве горизонтального масштабирования?

Что я прочитал в Stack Overflow и других блогах-

https://stackoverflow.com/questions/11707879/разница-между-масштабированием-горизонтально-и-вертикально-для-баз-данных/11715598#11715598

http://ht.ly/cAhY6

https://hackernoon.com/горизонтальное-и-вертикальное-масштабирование-базы-данных-85edd2fd9944

https://stackoverflow.com/questions/27157227/can-relational-database-scale-horizontally

Концепция: Многопользовательское веб-приложение (CRM)

После обобщения всех блогов, упомянутых выше, я запутался. У меня следующий сценарий

  • Наличие нескольких экземпляров EC2 и экземпляров RDS для одного продукта - здесь мы запланировали, что один экземпляр EC2 будет иметь один RDS и планы отказоустойчивости. Давайте приведем цифру - запросы 25 арендаторов будут обрабатываться в одном экземпляре EC2, а данные будут управляться в соответствующем RDS. Другой экземпляр EC2 и RDS будут управляться для другого набора из 25 арендаторов. Каждый экземпляр EC2 будет иметь одну и ту же кодовую базу.

Можно ли сказать - это горизонтальное масштабирование? Если нет, то что нужно сделать, чтобы получить точное горизонтальное масштабирование?

решение1

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

Свертикальное масштабированиевы просто модернизируете свой сервер до большей емкости, например, до более крупного экземпляра с большим количеством процессоров и большим объемом памяти.

Для горизонтального масштабирования в AWS обычно требуется:

  • флотсерверы без сохранения состояниякоторые все настроены одинаково и не хранят никакихданные пользователяи может быть добавлен автоматически без дополнительной настройки и удален в любое время без потери данных.
  • Данные пользователя хранятся вбаза данных(например, RDS), наобщая файловая система(например, EFS) или вхранение объектов(например, S3), а не на реальных серверах.
  • балансировщик нагрузкипримерно равномерное распределение нагрузки по всем серверам (например, экземпляры EC2, контейнеры Fargate и т. д.)
  • автоматическиймасштабирование мощностит.е. добавление и удаление серверов на основе фактической нагрузки.

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

Надеюсь, это поможет :)

Связанный контент