DAS_2023_1/tepechin_kirill_lab_8/README.md

13 lines
3.0 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

## Устройство распределенных систем
Распределенные системы это сети взаимодействующих компонентов, размещенных на различных узлах или серверах. Их эффективность обусловлена необходимостью обработки больших объемов данных, обеспечения отказоустойчивости и масштабируемости.
Сложные системы, такие как социальные сети (например, ВКонтакте), разрабатываются в распределенном стиле с целью повышения производительности и отказоустойчивости. Каждый сервис выполняет свою задачу, что позволяет масштабировать и обновлять отдельные компоненты системы, независимо от других компонентов. В ВК, например, недавно упал раздел "Новости", но остальной функционал сохранился, т.к раздел новостей это отдельный компонент распределенной системы.
Очереди обработки сообщений играют важную роль в РВ, обеспечивая асинхронную связь между компонентами. Они позволяют избежать блокировок и управлять потоком данных, что особенно полезно при обработке больших объемов информации, что характерно для этих систем.
Кроме преимуществ у РВ имеются и недостатки. Они подвержены сложностям синхронизации данных, управлению консистентностью, требуют более тщательного тестирования и более сложны в разработке и понимании.
Внедрение параллельных вычислений в сложные распределенные системы оправдано при высоконагруженных вычислениях, но может усложнить систему, особенно при низкой вычислительной нагрузке, что может быть избыточным.
В заключение, распределенные системы эффективны в обработке сложных задач, однако требуют тщательного проектирования и управления. Разработчики должны осознавать соотношение между выгодами от таких систем и возникающими сложностями.