5 ошибок проектирования распределенных систем и как их решить: технологии и паттерны
Практический мастер-класс по проектированию распределенных систем
1. Состояние гонки. Что это такое и почему это плохо? Примеры из ИТ и бизнеса. Как решается: подходы и технологии к предотвращению многоразового доступа разными акторами к одним и тем же данным в общем пространстве.
2. Блокировки. Что это такое и почему это плохо? Примеры из ИТ и бизнеса. Как решается: распределенные транзакции, сага.
3. Рассинхронизация данных (нарушение целостности). Что это такое и почему это плохо? Примеры из ИТ и бизнеса. Как решается: ACID, BASE.
4. Падение производительности. Почему это случается, как решить?
5. Потеря доступности (из-за последовательного соединения разных звеньев падает общая надежность системы). Примеры с последовательным и параллельным соединением звеньев, поиск компромисса между надежностью за счет избыточности и бюджетом.