Встречается на собеседованиях • сегодня
Что такое двухфазный commit
Двухфазный commit (2PC) — это протокол распределённых транзакций, обеспечивающий атомарность в распределённых системах. Состоит из двух фаз:
- Фаза подготовки — координатор запрашивает все участники, готовы ли они зафиксировать транзакцию. Участники голосуют "да" или "нет".
- Фаза фиксации — если все участники проголосовали "да", координатор отправляет команду "commit". Если хотя бы один отказал — отправляется "rollback".
Пример с псевдокодом:
java
// Фаза 1: Подготовка
boolean allPrepared = participants.stream()
.allMatch(p -> p.prepare(transaction));
// Фаза 2: Фиксация/Откат
if(allPrepared) {
participants.forEach(p -> p.commit(transaction));
} else {
participants.forEach(p -> p.rollback(transaction));
}Проблемы: блокировки (участники ждут решения координатора), отказ координатора может привести к зависанию системы. Альтернативы — 3PC, Saga.

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы