diff --git a/morozov_vladimir_lab_7/readme.md b/morozov_vladimir_lab_7/readme.md new file mode 100644 index 0000000..e7ca497 --- /dev/null +++ b/morozov_vladimir_lab_7/readme.md @@ -0,0 +1,34 @@ +# Лабораторная работа #7 - Балансировка нагрузки в распределённых системах при помощи открытых технологий на примерах + + +### Балансировка нагрузки +Балансировка нагрузки - это распределение сетевого трафика между серверной аппаратурой, которая поддерживает работу некоторого сетевого ресурса, к примеру сайта. +Что дает балансировка нагрузки? +- Увеличивает надежность ресурса, так как позволяет ему оставаться "на плаву", когда спрос на него резко возрастает +- Увеличивет эффективность использования ресурса +- Обеспечивает более гибкую масштабируемость по горизонтали +### Алгоритмы и методы используются балансировки нагрузки +Есть 3 вида балансировки по уронявм OSI: +- Сетевой, который заключается в использовании нескольких физических серверов, которые вместе могут обрабатывать один запрос +- Транспортный, который заключается в представлении посредника между сервером и клиентом +- Прикладной, который заключается в использовании посредника между сервером и клиентом, а также в распределении обязанностей между серверами + +Алгоритмы балансировки: +- Round Robin (По-круговой). Все запросы будут поочередно распределяться на имеющиеся серверы. Просто и эффективно, НО алгоритм не учитывает мощность каждого сервера +- Weighted Round Robin. Как предыдущий, но теперь алгоритм учитывает мощность каждого сервера и в зависимости от этого может назначать на более мощный сервер больше запросов. +- Least Connections. (Наименьшее количество подключений). Последующие запросы будут распределены на менее загруженные серверы. +- Least Response Time (Наименьшее время отклика). Последующие запросы будут распределены на менее загруженный сервер, у которого время среднего отклика максимален +- Sticky Sessions. В зависимости от ip каждый пользователь будет прикреплен к определенному серверу. + +Типы балансировки нагрузки: +- Аппаратный. Использование специального аппаратного оборудования со спец ПО +- Программное обеспечение. ПО, которое работает с виртуальными серверами и распределяет нагрузку между ними +- Виртуальный. Объединение двух предыдущих типов. +- Облачный. Использование облачных инфраструктуры. +### Как осуществляется балансировка нагрузки на базах данных? +Можно выделить несколько способов: +1) Создание нескольких серверов бд, которые будут вместе обрабатывать один запрос. Здесть стоит сказать, что сервера получатют роли, один сервер может только читать данные из бд, а другой может уже вписывать данные в бд. +2) Использование индексов в бд, для ускорения работы бд +3) Иметь запасной бд сервер, который будет подключен в случае увеличения нагрузки +### Реверс-прокси как один из элементов балансировки нагрузки. +Понятия балансировщик нагрузки и реверс-прокси можно назвать взаимозаменяемыми, так как оба выполняют одну функцию: распределют запросы клиента между серверами и возвращает ему ответ.