# Лабораторная работа 7. Балансировка нагрузки в распределённых системах при помощи открытых технологий на примерах ### Задание на лабораторную работу Написать небольшое эссе (буквально несколько абзацев) своими словами. 1. Какие алгоритмы и методы используются для балансировки нагрузки? 2. Какие открытые технологии существуют для балансировки нагрузки? 3. Как осуществляется балансировка нагрузки на базах данных? 4. Реверс-прокси как один из элементов балансировки нагрузки. *** ### Эссе Балансировка нагрузки в распределённых системах применяется применяется для обеспечения равномерного распределения работы и ресурсов между компонентами системы. Это позволяет достичь повысить отказоустойчивость и обеспечить высокую роизводительность системы. Для достижения равномерного распределения нагрузки используются различные алгоритмы и методы. Алгоритмы для балансировки нагрузки: - циклический перебор (распределяет запросы между серверами по очереди); - взвешенный циклический перебор (каждый сервер имеет вес в зависимости от его производительности, более мощные сервера берут на себя больше запросов); - наименьшее количество подключений (запросы направляются на сервер с наименьшим количеством активных соединений). Существуют открытые технологий для балансировки нагрузки в распределенных системах, которые могут распределять запросы между несколькими серверами. К таким технологиям можно отнести Nginx (веб-сервер, который обеспечивает высокую производительность и отличается низким потреблением ресурсов и широкими возможностями) и Apache HTTP Server (позволяет обеспечить отказоустойчивость). Балансировка нагрузки на базах данных может осуществляться при помощи репликации данных - синхронизации содержимого нескольких копий базы данных, или шардирования, при котором база данных разделена на несколько шардов, где каждый шард содержит часть данных. Реверс-прокси - это один из элементов балансировки нагрузки, который может использоваться для маршрутизации запросов от клиентов к различным серверам. Реверс-прокси принимает запросы от клиентов и перенаправляет их к наиболее подходящему серверу в зависимости от текущей нагрузки. Примером реверс-прокси является Nginx.