From 340dc6aa19ce96adb977481b3c61b60d47dca836 Mon Sep 17 00:00:00 2001 From: Zara28 Date: Sat, 19 Oct 2024 14:04:46 +0400 Subject: [PATCH 1/4] =?UTF-8?q?=D0=B4=D0=BE=D0=B1=D0=B0=D0=B2=D0=BB=D1=8F?= =?UTF-8?q?=D0=B5=D0=BC=20=D1=8D=D1=81=D1=81=D0=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- dozorova_alena_lab_7/readme.md | 13 +++++++++++++ 1 file changed, 13 insertions(+) create mode 100644 dozorova_alena_lab_7/readme.md diff --git a/dozorova_alena_lab_7/readme.md b/dozorova_alena_lab_7/readme.md new file mode 100644 index 0000000..9a293e9 --- /dev/null +++ b/dozorova_alena_lab_7/readme.md @@ -0,0 +1,13 @@ +**Балансировка нагрузки** предполагает равномерную нагрузку вычислительных узлов (процессора многопроцессорной ЭВМ или компьютера в сети) +Следует различать _статическую_ и _динамическую_ балансировки, где первая выполняется до начала выполнения распределенного приложения, а вторая – в процессе. +Приведем примеры алгоритмов балансировки: +• *Круговой алгоритм*: - распределение входящих запросов между несколькими серверами в порядке циклической очередности. Модификации: + o *Взвешенный циклический перебор*, учитывающий мощность серверов + o *Динамический круговой алгоритм*, который учитывает текущую нагрузку на серверы при распределении запросов. +• *Наименьшее количество соединений* - направление входящих запросов на сервер с наименьшим количеством активных соединений в данный момент времени. Модификации: + o *Взвешенное наименьшее количество соединений* – направляет запросы на сервер с наименьшим соотношением активных соединений к его назначенному весу. +• *Наименьшее время отклика* - направление запросов на сервер, который демонстрируют наилучшую производительность в данный момент. Он учитывает два ключевых фактора: время отклика сервера и количество активных соединений. +• *Наименьший объем трафика* – динамический алгоритм балансировки нагрузки, который направляет входящие запросы на сервер, передающий наименьший объем данных в текущий момент. +Существует достаточно много различных технологий как для программной, так и аппаратной балансировки. Наиболее популярные решения – это Nginx и OpenELB, MetalLB для Kubernetes. +Для обеспечения балансировка нагрузки на базах данных используется механизм **репликации**. Балансировка нагрузки заключается в распределении запросов от пользователей по разным копиям (репликам) базы данных. +**Реверс-прокси** — это сервер, который находится перед веб-серверами и пересылает запросы от клиента на эти веб-серверы. Он не является в полной мере балансировщиком, но может выполнять его функцию при большой нагрузке на систему. From 7ec5c45faa74d644513587e99fccce67a0e82fc8 Mon Sep 17 00:00:00 2001 From: "DozorovaA.A" Date: Sat, 19 Oct 2024 14:06:09 +0400 Subject: [PATCH 2/4] =?UTF-8?q?=D0=BF=D0=BE=D0=BF=D1=8B=D1=82=D0=BA=D0=B0?= =?UTF-8?q?=20=D0=B2=D1=8B=D1=80=D0=B0=D0=B2=D0=BD=D0=B8=D0=B2=D0=B0=D0=BD?= =?UTF-8?q?=D0=B8=D1=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- dozorova_alena_lab_7/readme.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/dozorova_alena_lab_7/readme.md b/dozorova_alena_lab_7/readme.md index 9a293e9..3049755 100644 --- a/dozorova_alena_lab_7/readme.md +++ b/dozorova_alena_lab_7/readme.md @@ -1,5 +1,7 @@ **Балансировка нагрузки** предполагает равномерную нагрузку вычислительных узлов (процессора многопроцессорной ЭВМ или компьютера в сети) + Следует различать _статическую_ и _динамическую_ балансировки, где первая выполняется до начала выполнения распределенного приложения, а вторая – в процессе. + Приведем примеры алгоритмов балансировки: • *Круговой алгоритм*: - распределение входящих запросов между несколькими серверами в порядке циклической очередности. Модификации: o *Взвешенный циклический перебор*, учитывающий мощность серверов From 1d9c308bb4e7eb187baacaec2ad49f2b97a961a4 Mon Sep 17 00:00:00 2001 From: Zara28 Date: Sat, 19 Oct 2024 14:17:25 +0400 Subject: [PATCH 3/4] =?UTF-8?q?=D0=BF=D1=80=D0=B0=D0=B2=D0=B8=D0=BC=20?= =?UTF-8?q?=D0=B2=20=D0=BF=D1=80=D0=B8=D0=BD=D1=86=D0=B8=D0=BF=D0=B5=20?= =?UTF-8?q?=D1=80=D0=B0=D0=B7=D0=BC=D0=B5=D1=82=D0=BA=D1=83?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- dozorova_alena_lab_7/readme.md | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/dozorova_alena_lab_7/readme.md b/dozorova_alena_lab_7/readme.md index 3049755..e43f302 100644 --- a/dozorova_alena_lab_7/readme.md +++ b/dozorova_alena_lab_7/readme.md @@ -1,15 +1,17 @@ **Балансировка нагрузки** предполагает равномерную нагрузку вычислительных узлов (процессора многопроцессорной ЭВМ или компьютера в сети) Следует различать _статическую_ и _динамическую_ балансировки, где первая выполняется до начала выполнения распределенного приложения, а вторая – в процессе. - Приведем примеры алгоритмов балансировки: -• *Круговой алгоритм*: - распределение входящих запросов между несколькими серверами в порядке циклической очередности. Модификации: - o *Взвешенный циклический перебор*, учитывающий мощность серверов - o *Динамический круговой алгоритм*, который учитывает текущую нагрузку на серверы при распределении запросов. -• *Наименьшее количество соединений* - направление входящих запросов на сервер с наименьшим количеством активных соединений в данный момент времени. Модификации: - o *Взвешенное наименьшее количество соединений* – направляет запросы на сервер с наименьшим соотношением активных соединений к его назначенному весу. -• *Наименьшее время отклика* - направление запросов на сервер, который демонстрируют наилучшую производительность в данный момент. Он учитывает два ключевых фактора: время отклика сервера и количество активных соединений. -• *Наименьший объем трафика* – динамический алгоритм балансировки нагрузки, который направляет входящие запросы на сервер, передающий наименьший объем данных в текущий момент. +* *Круговой алгоритм*: - распределение входящих запросов между несколькими серверами в порядке циклической очередности. Модификации: +* *Взвешенный циклический перебор*, учитывающий мощность серверов +- *Динамический круговой алгоритм*, который учитывает текущую нагрузку на серверы при распределении запросов. +* *Наименьшее количество соединений* - направление входящих запросов на сервер с наименьшим количеством активных соединений в данный момент времени. Модификации: + - *Взвешенное наименьшее количество соединений* – направляет запросы на сервер с наименьшим соотношением активных соединений к его назначенному весу. +* *Наименьшее время отклика* - направление запросов на сервер, который демонстрируют наилучшую производительность в данный момент. Он учитывает два ключевых фактора: время отклика сервера и количество активных соединений. +* *Наименьший объем трафика* – динамический алгоритм балансировки нагрузки, который направляет входящие запросы на сервер, передающий наименьший объем данных в текущий момент. + Существует достаточно много различных технологий как для программной, так и аппаратной балансировки. Наиболее популярные решения – это Nginx и OpenELB, MetalLB для Kubernetes. + Для обеспечения балансировка нагрузки на базах данных используется механизм **репликации**. Балансировка нагрузки заключается в распределении запросов от пользователей по разным копиям (репликам) базы данных. + **Реверс-прокси** — это сервер, который находится перед веб-серверами и пересылает запросы от клиента на эти веб-серверы. Он не является в полной мере балансировщиком, но может выполнять его функцию при большой нагрузке на систему. From b1d8660774dbb4918d592ad3d7923d66d79e0746 Mon Sep 17 00:00:00 2001 From: Zara28 Date: Sat, 19 Oct 2024 14:18:21 +0400 Subject: [PATCH 4/4] + --- dozorova_alena_lab_7/readme.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/dozorova_alena_lab_7/readme.md b/dozorova_alena_lab_7/readme.md index e43f302..b64da16 100644 --- a/dozorova_alena_lab_7/readme.md +++ b/dozorova_alena_lab_7/readme.md @@ -3,8 +3,8 @@ Следует различать _статическую_ и _динамическую_ балансировки, где первая выполняется до начала выполнения распределенного приложения, а вторая – в процессе. Приведем примеры алгоритмов балансировки: * *Круговой алгоритм*: - распределение входящих запросов между несколькими серверами в порядке циклической очередности. Модификации: -* *Взвешенный циклический перебор*, учитывающий мощность серверов -- *Динамический круговой алгоритм*, который учитывает текущую нагрузку на серверы при распределении запросов. + - *Взвешенный циклический перебор*, учитывающий мощность серверов + - *Динамический круговой алгоритм*, который учитывает текущую нагрузку на серверы при распределении запросов. * *Наименьшее количество соединений* - направление входящих запросов на сервер с наименьшим количеством активных соединений в данный момент времени. Модификации: - *Взвешенное наименьшее количество соединений* – направляет запросы на сервер с наименьшим соотношением активных соединений к его назначенному весу. * *Наименьшее время отклика* - направление запросов на сервер, который демонстрируют наилучшую производительность в данный момент. Он учитывает два ключевых фактора: время отклика сервера и количество активных соединений.