Встречается на собеседованиях • сегодня
Какие знаешь проблемы при записи в БД двумя микросервисами
Проблемы при параллельной записи в БД двумя микросервисами:
- Race condition — оба сервиса могут прочитать одни данные, изменить и записать, потеряв изменения друг друга.
- Deadlock — взаимная блокировка, если сервисы блокируют одни и те же строки в разном порядке.
- Неконсистентность данных — если транзакции выполняются частично (например, один сервис обновил данные, а второй не смог).
Пример с race condition:
java
// Сервис 1: Читает баланс (100), добавляет 50
// Сервис 2: Читает баланс (100), отнимает 30
// Оба записывают: либо 150, либо 70 (потеря изменений)Решение:
- Использовать оптимистичные/пессимистичные блокировки.
- Транзакции с изоляцией (например,
REPEATABLE_READ). - Очереди событий (Kafka, RabbitMQ) для последовательной обработки.
- Шардирование БД, чтобы сервисы работали с разными узлами.

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