Масштабирование — это процесс разрушения программного обеспечения в разных единицах. Масштабирование также определяет масштабируемость. Масштабируемость — это потенциал для реализации более продвинутых функций приложения. Это помогает повысить безопасность, долговечность и ремонтопригодность приложения. У нас есть три типа процедур масштабирования, которые применяются в промышленности. Ниже приведены различные методологии масштабирования и соответствующие примеры из реальной жизни.
Масштабирование по оси X
Масштабирование по оси X также называется горизонтальным масштабированием. В этой процедуре все приложение подразделяется на разные горизонтальные части. Обычно любое приложение веб-сервера может иметь такой тип масштабирования. Рассмотрим нормальную архитектуру MVC, которая следует горизонтальному масштабированию, как показано на следующем рисунке.
В качестве примера мы можем рассмотреть любое приложение сервлета JSP. В этом приложении контроллер контролирует каждый запрос и создает представление, связываясь с моделью при необходимости. Обычно монолитные приложения следуют этому методу масштабирования. Масштабирование по оси X является базовым по своей природе и занимает очень мало времени. В этой методологии, одно программное обеспечение будет масштабироваться в зависимости от его различных задач, за которые отвечает подразделение. Например, контроллер отвечает за управление входящим и исходящим запросом, представление отвечает за представление бизнес-функций пользователям в браузере, а модель отвечает за хранение наших данных и работает как база данных.
Масштабирование по оси Y
Масштабирование по оси Y также называется вертикальным масштабированием, которое включает в себя любое масштабирование уровня ресурса. Любая система DBaaS или Hadoop может считаться масштабируемой по оси Y. При таком типе масштабирования пользовательский запрос перенаправляется и ограничивается путем реализации некоторой логики.
Давайте рассмотрим Facebook в качестве примера. Facebook должен обрабатывать 1,79 миллиона пользователей в секунду; следовательно, управление трафиком является огромной ответственностью сетевых инженеров Facebook. Чтобы избежать любой опасности, они используют масштабирование по оси Y, которое включает запуск нескольких серверов с одним и тем же приложением одновременно. Теперь, чтобы контролировать этот огромный уровень трафика, Facebook перенаправляет весь трафик из одного региона на конкретный сервер, как показано на рисунке. Эта передача трафика в зависимости от региона называется балансировкой нагрузки на архитектурном языке.
Этот метод разделения ресурсов на небольшие независимые бизнес-единицы известен как масштабирование по оси Y.
Масштабирование по оси Z
Масштабирование по осям X и Y гораздо проще для понимания. Однако одно приложение также можно масштабировать на бизнес-уровне, которое называется масштабированием по оси Z. Ниже приведен пример масштабирования приложения службы такси в различных вертикалях бизнес-единиц.
Стоимость — Правильное масштабирование программного обеспечения снизит стоимость обслуживания.
Производительность. Из-за слабой связи производительность правильно масштабируемого программного обеспечения всегда лучше, чем немасштабированного программного обеспечения.
Распределение нагрузки — используя различные технологии, мы можем легко поддерживать нагрузку на наш сервер.
Повторное использование — Масштабируемость программного обеспечения также повышает удобство использования программного обеспечения.