Концепции распределенных систем

Распределенная система - система, в которой обработка информации сосредоточена не на одной вычислительной машине, а распределена между несколькими компьютерами.

6 основных характеристик распределенных систем: Совместное использование ресурсов (как аппаратных, так и программных), Открытость (расширения системы путем добавления новых ресурсов), Параллельность, Масштабируемость (возможность добавления новых свойств и методов), Отказоустойчивость (полный сбой в работе системы происходит только при сетевых ошибках), Прозрачность (предоставляется полный доступ к ресурсам в системе, при этом скрыта информация о распределении ресурсов по системе).

Парадигмы рапределенных систем

Распределенная система - набор соединенных каналами связи независимых компьютеров, которые с точки зрения пользователя некоторого программного обеспечения выглядят единым целым.

Э. Таненбаум

SLA

Доступность (Availability)

Процент времени, который сервис является работоспособным.

Точность (Accuracy)

Процент приемлимой потери данных или их неточности.

Пропускная способность/мощность (Capacity)

N Запросов в секунду - нагрузка, которую должна выдержать система.

Задержка (Latency)

Время, за которое система должна отвечать (95% и 99% запросов).

Горизонтальное и вертикальное масштабирование

Горизонтальное масштабирование заключается в добавлении большего количества машин (или узлов) в систему для увеличения пропускной способности (capacity). Горизонтальное масштабирование — это самый популярный способ масштабирования распределённых систем.

Вертикальное масштабирование - (виртуальная) машина с большим числом ядер, лучшей вычислительной мощностью, большей памятью и т.д. В случае с рапределёнными системами, вертикальное масштабирование обычно менее популярно, поскольку оно может быть более дорогостоящим, чем масштабирование горизонтальное.

Архитектуры распределенных систем

Выделяется три типа архитектур распределенных систем:

Архитектура клиент/сервер

В этой модели систему можно представить как набор сервисов, предоставляемых серверами клиентам. В таких системах серверы и клиенты значительно отличаются друг от друга.

Трехзвенная архитектура

В этой модели сервер предоставляет клиентам сервисы не напрямую, а посредством сервера бизнес-логики.

Архитектура распределенных объектов

В этом случае между серверами и клиентами нет различий и систему можно представить как набор взаимодействующих объектов, местоположение которых не имеет особого значения. Между поставщиком сервисов и их пользователями не существует различий.