Планирование нагрузки – задача, которую надо решать еще на этапе разработки интернет-проекта. Надо понимать, что пользователи должны получать ответы на их вопросы и реакцию на действия максимально быстро, а «падение» сервера может повлечь за собой не только моральные, но и материальные последствия. Первый этап решения проблемы с нехваткой производительности – наращивание мощности сервера и оптимизация рабочих кодов, алгоритмов. Но со временем даже эти меры могут оказаться недостаточными.
В этом случае прибегают к масштабированию: объединению нескольких серверов в один кластер. Может выполняться как вертикальное, так и горизонтальное наращивание структуры. Кластеризация обеспечивает стабильность работы оборудования при повышенных нагрузках, позволяет распределять потоки запросов на соседние серверы в случае, если один из них выйдет из строя. Эффективность работы системы зависит от того, насколько качественно реализована балансировка нагрузки. Это комплекс методов, способствующих автоматическому распределению нагрузки между компонентами, входящими в один кластер. Она может выполняться с применением как программных, так и аппаратных инструментов.
Наибольшую сложность поиск оптимального решения представляет при работах с публичными информационными системами, социальными сетями, видеохостингом, интернет-магазинами, досками объявлений. Познакомимся с технологией балансировки более подробно, определим ее цели и методы, на основании которых будет распределяться информационная нагрузка
На сегодня специалистами разработано достаточно много алгоритмов и методов балансировки нагрузки. Основная задача бизнеса – подобрать вариант, в точности советующий особенностям проекта и тем целям, которых планируется достичь.
Если говорить о целях, то наиболее часто это: