CAP, согласованность, саги, устойчивость к сбоям соседей.
Лекции
Retry storm, backoff, breaker, bulkhead
Повторы без лимита и джиттера усиливают аварию соседа. Устойчивый клиент сочетает идемпотентность, экспоненциальный backoff с jitter, circuit breaker и изоляцию пулов — bulkhead.
Распределённые транзакции: saga vs 2PC
Двухфазный коммит блокирует ресурсы и плохо переживает падение координатора. Сага — цепочка локальных шагов плюс явная отмена: вернуть деньги, снять бронь. Это не магический rollback на две базы.
Модели согласованности
Согласованность — обещание, что клиент увидит после записи. Strong, eventual, read-your-writes и monotonic reads различаются окном видимости и ценой координации. Это не то же самое, что транзакция в одной БД.
CAP и PACELC
При разрыве сети нельзя быть сразу строго согласованным и всегда доступным. CP жертвует ответом, AP — единым снимком. PACELC добавляет тот же выбор в обычной работе: скорость или свежесть данных.