# Лабораторная работа №7. Балансировка нагрузки в распределённых системах при помощи открытых технологий на примерах. Задачи: Написать небольшое эссе (буквально несколько абзацев) своими словами (пожалуйста не пользуйтесь гуглом :). А помогут Вам в этом вопросы из списка: - Какие алгоритмы и методы используются для балансировки нагрузки? - Какие открытые технологии существуют для балансировки нагрузки? - Как осуществляется балансировка нагрузки на базах данных? - Реверс-прокси как один из элементов балансировки нагрузки. # Эссе Балансировка нагрузки существует для распределения нагрузки между различными ресурсами, с целью повышения производительности, отказоустойчивости, предотвращения перегрузок и т.д. Можно балансировать нагрузку как в распределенных системах так и монолитных например за счет увеличения количества экземпляров работающей программы. С этой целью можно использовать kubernetes, который имеет встроенную функцию балансировки нагрузки, а также можно настроить ее самому. С похожей целью можно исопльзовать docker, но k8s лучше подходит для данных целей. Для балансировки можно использовать прокси, которые поддерживают механизмы балансировки нагрузки, например nginx. Он широко используется для балансировки http и https трафика. Балансировка нагрузки в бд. Знаю мехнанизмы в реляционных базах данных, таких как postgres - шардирование и репликация. Шардирование больше подходит для распределения нагрузки на запись а репликация для распределения нагрузки на чтение. Также репликация подходит для локализации бд в разных частях света пользователям. Знаю, что нереляционные базы данных хорошо масшабируются по горизонтали, то есть за счет увеличения количества серверов, но не знаю за счет каких механизмов.