Merge pull request 'mashkova_margarita_lab_8' (#104) from mashkova_margarita_lab_8 into main
Reviewed-on: http://student.git.athene.tech/Alexey/DAS_2023_1/pulls/104
This commit is contained in:
commit
5e2305d3ac
@ -1,37 +0,0 @@
|
||||
# Лабораторная работа №7
|
||||
## ПИбд-42 Машкова Маргарита
|
||||
## Задание
|
||||
Написать небольшое эссе (буквально несколько абзацев) своими словами. А помогут Вам в этом вопросы из списка:
|
||||
|
||||
1. Какие алгоритмы и методы используются для балансировки нагрузки?
|
||||
2. Какие открытые технологии существуют для балансировки нагрузки?
|
||||
3. Как осуществляется балансировка нагрузки на базах данных?
|
||||
4. Реверс-прокси как один из элементов балансировки нагрузки.
|
||||
|
||||
|
||||
## Эссе
|
||||
|
||||
### Балансировка нагрузки в распределённых системах при помощи открытых технологий на примерах
|
||||
|
||||
Балансировка нагрузки является важным аспектом в области информационных технологий.
|
||||
Для достижения оптимального распределения нагрузки между ресурсами существуют различные алгоритмы и методы.
|
||||
|
||||
Один из таких методов - `Round Robin`, при котором запросы равномерно распределяются между серверами.
|
||||
Другой популярный алгоритм - `весовая балансировка`, где каждому серверу присваивается определенный вес, отражающий его
|
||||
производительность. Также существуют алгоритмы, основанные на отслеживании нагрузки серверов и их доступности, такие как
|
||||
алгоритмы `Least Connection` и `IP Hashing`.
|
||||
|
||||
Открытые технологии для балансировки нагрузки включают в себя программное обеспечение, такое как `Nginx`,
|
||||
`Apache HTTP Server` и `HAProxy`. Эти инструменты обладают гибкими настройками и могут быть использованы для распределения
|
||||
нагрузки между серверами.
|
||||
|
||||
Балансировка нагрузки также играет важную роль при работе с базами данных. Она может быть реализована с помощью таких
|
||||
методов, как `горизонтальное` и `вертикальное масштабирование`. `Горизонтальное масштабирование` предполагает распределение
|
||||
данных между несколькими серверами, а `вертикальное масштабирование` - увеличение ресурсов одного сервера.
|
||||
|
||||
`Реверс-прокси` - это еще один элемент балансировки нагрузки, который используется для распределения запросов между
|
||||
серверами. Он выступает в качестве посредника между клиентами и серверами, принимает запросы и направляет их на наиболее
|
||||
подходящий сервер. Реверс-прокси также может выполнять функции кэширования и обеспечивать безопасность системы.
|
||||
|
||||
Балансировка нагрузки является важным инструментом для обеспечения стабильной и эффективной работы информационных
|
||||
систем. Она позволяет распределить нагрузку между ресурсами и повысить производительность системы.
|
45
mashkova_margarita_lab_8/README.md
Normal file
45
mashkova_margarita_lab_8/README.md
Normal file
@ -0,0 +1,45 @@
|
||||
# Лабораторная работа №8
|
||||
## ПИбд-42 Машкова Маргарита
|
||||
## Задание
|
||||
Написать небольшое эссе (буквально несколько абзацев) своими словами на тему "Устройство распределенных систем".
|
||||
А помогут Вам в этом вопросы из списка:
|
||||
|
||||
1. Зачем сложные системы (например, социальная сеть ВКонтакте) пишутся в "распределенном" стиле, где каждое отдельное
|
||||
приложение (или сервис) функционально выполняет только ограниченный спектр задач?
|
||||
2. Для чего были созданы системы оркестрации приложений? Каким образом они упрощают / усложняют разработку и
|
||||
сопровождение распределенных систем?
|
||||
3. Для чего нужны очереди обработки сообщений и что может подразумеваться под сообщениями?
|
||||
4. Какие преимущества и недостатки распределенных приложений существуют на Ваш взгляд?
|
||||
5. Целесообразно ли в сложную распределенную систему внедрять параллельные вычисления? Приведите примеры, когда это
|
||||
действительно нужно, а когда нет.
|
||||
|
||||
## Эссе
|
||||
|
||||
### Устройство распределенных систем
|
||||
|
||||
`Распределенные системы` являются важным компонентом современных информационных технологий. Они обеспечивают
|
||||
масштабируемость, надежность и отказоустойчивость. Однако, их разработка и сопровождение требуют дополнительных усилий и экспертизы.
|
||||
|
||||
Основная причина использования распределенного подхода заключается в масштабируемости и надежности системы.
|
||||
Распределение задач между отдельными компонентами позволяет более эффективно использовать ресурсы и обеспечивает
|
||||
отказоустойчивость. Если одно из приложений перестает работать, остальные могут продолжать свою работу независимо.
|
||||
|
||||
Системы оркестрации приложений были созданы для управления и координации работы распределенных систем.
|
||||
Они упрощают разработку и сопровождение, позволяя разработчикам сосредоточиться на написании кода, а не на сложностях
|
||||
взаимодействия между компонентами. Однако, они также могут усложнить разработку, требуя дополнительных настроек и конфигураций.
|
||||
|
||||
Очереди обработки сообщений являются важной частью распределенных систем. Они используются для передачи и обработки
|
||||
данных между различными компонентами системы. Сообщения могут быть любыми типами данных, от запросов от клиентов до
|
||||
уведомлений и событий. Очереди позволяют асинхронно обрабатывать сообщения, улучшая производительность и отзывчивость системы.
|
||||
|
||||
Распределенные приложения имеют свои преимущества и недостатки. Одним из преимуществ является возможность
|
||||
масштабирования системы для обработки большого количества запросов. Они также более отказоустойчивы, поскольку отказ
|
||||
одного компонента не приведет к полной остановке системы. Однако, разработка и сопровождение распределенных систем может
|
||||
быть более сложным и требует дополнительных знаний и усилий.
|
||||
|
||||
Внедрение параллельных вычислений в сложную распределенную систему может быть целесообразным в определенных случаях.
|
||||
Например, при обработке большого объема данных или выполнении вычислительно интенсивных задач. Однако, в некоторых
|
||||
случаях, например, при работе с небольшими объемами данных или не требующих параллельной обработки задач, внедрение
|
||||
параллельных вычислений может быть излишним и добавить сложности в систему.
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user