Доброго времени суток,
Я читал пункт Quantify в книге "97 вещей, которые должен знать каждый архитектор программного обеспечения". Знай" (ссылка на Амазон санирована), и она получила мне интересно, как количественно оценить масштабируемость.
Я разработал две системы для крупной британской радиовещательной корпорации, которые используются для:
- определить страну происхождения для входящих HTTP-запросов или
- определить подходящие форматы видео для геометрии экрана мобильного телефона и текущего типа подключения.
Обе конструкции должны были обеспечить масштабируемость.
Мои проекты для обеих систем масштабируются по горизонтали за кэширующими уровнями балансировки нагрузки, которые используются для обработки входящих запросов для обеих этих служб и распределения их между несколькими серверами, которые фактически предоставляют саму службу. Первоначальное увеличение пропускной способности службы достигается за счет добавления дополнительных серверов за уровнем балансировки нагрузки, отсюда и термин «горизонтальная масштабируемость».
Однако существует предел масштабируемости этой архитектуры, если уровень балансировки нагрузки начинает испытывать трудности с обработкой входящего трафика запросов.
Итак, можно ли количественно оценить масштабируемость? Будет ли это оценка того, сколько дополнительных серверов вы могли бы добавить для горизонтального масштабирования решения?