Что решает
балансировка
Статьи
SYS
Алгоритм
Консистентное хеширование
Распределяет ключи по серверам так, что при добавлении сервера переезжает лишь его доля.
O(log(N·v)) на поиск сервера
1 задача
SYS
Алгоритм
Рандеву-хеширование
Каждый ключ уходит к серверу с наибольшим хешем пары «ключ, сервер»: равномерно, без таблиц, отказ сдвигает только ключи упавшего.
O(N) на ключ
2 задачи
SYS
Приём
Повтор с джиттером
Пауза перед повтором растёт вдвое и выбирается случайно: клиенты расходятся во времени и не бьют по серверу волнами.
O(1) на решение о паузе
2 задачи
SYS
Алгоритм
Два случайных выбора
Спросить двух случайных и выбрать менее занятого: самая полная корзина — ln ln n вместо ln n / ln ln n.
O(d) на решение: узнать нагрузку d серверов
2 задачи
SYS
Алгоритм
Планирование задач
Порядок работы: короткие сначала, сроки, прерывания, много ядер и аномалии Грэма.
O(n log n): сортировка или куча
2 задачи
Задачи
Часто рядом
в проде 5 распределённые системы 4 собеседования 4 хеширование 3 кэширование 2 репликация 2 случайность 2 расписание 2 сети 2 распределённость 1 базы данных 1 ограничение нагрузки 1