Что я прочитал в Stack Overflow и других блогах-
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 и т. д.)
- автоматическиймасштабирование мощностит.е. добавление и удаление серверов на основе фактической нагрузки.
Определения могут различаться, но я бы не назвал вашу установку горизонтально масштабируемой, поскольку вы просто добавили еще один экземпляр для поддержкинезависимая рабочая нагрузка(ваш другой набор арендаторов) и не добавили больше емкости для поддержки той же рабочей нагрузки, что и первый узел.
Надеюсь, это поможет :)