4.6 KiB
4.6 KiB
aliases, tags, date
| aliases | tags | date | ||
|---|---|---|---|---|
|
|
2025-01-17 |
Распределённая система — это группа независимых компьютеров, которые взаимодействуют через сеть для выполнения общей задачи. Для пользователя такая Информационная система выглядит как единое целое.
Примеры: кластеры серверов, системы хранения данных (например, Hadoop, Cassandra), платформы потоковой обработки (00 Kafka, Flink) и блокчейн-сети.
Основные характеристики:
- Отсутствие общего состояния: Каждый узел работает независимо, состояние хранится локально или реплицируется между узлами.
- Прозрачность распределения: Система должна скрывать сложность распределения от пользователя, обеспечивая:
- Доступ: пользователю не нужно знать, на каком узле хранятся данные.
- Расположение: данные могут быть перемещены между узлами.
- Сопряжённость: система должна справляться с частичными сбоями.
- Масштабирование информационной системы: Возможность увеличивать производительность системы за счёт добавления новых узлов.
- Reliability: Система продолжает работать даже при сбое отдельных компонентов.
- Согласованность данных: Обеспечение актуальности данных на всех узлах в условиях асинхронных операций.
Проблемы распределённых систем
- Согласованность данных (CAP теорема):
- Система не может одновременно обеспечивать все три свойства:
- Согласованность (Consistency): Все узлы возвращают одинаковые данные.
- Доступность (Availability): Каждый запрос получает ответ, даже при сбоях.
- Устойчивость к разделению (Partition Tolerance): Система работает при разделении сети.
- Система не может одновременно обеспечивать все три свойства:
- Управление отказами: Определение, какие узлы вышли из строя, и их восстановление.
- Сложность разработки: Необходимость учитывать сетевые Latency, частичные сбои и распределённое состояние.
- Производительность: Распределённые операции могут быть медленнее из-за необходимости синхронизации данных.
Модели взаимодействия
- Клиент-сервер: Клиенты отправляют запросы, серверы обрабатывают их.
- Peer-to-Peer (P2P): Все узлы равны и взаимодействуют напрямую. Пример: BitTorrent, блокчейн.
- Публикация-подписка (Pub/Sub): Узлы подписываются на определённые темы и получают уведомления о новых событиях. Пример: ../../../../_inbox/00 Kafka, ../../../../_inbox/00 RabbitMQ.
Мета информация
Область:: ../../meta/zero/00 Архитектура ИС Родитель:: Информационная система Источник:: Создана:: 2025-01-17 Автор::