Встречается на собеседованиях • сегодня

Как выносились изменения в общей базе данных для некоторых микросервисов

Для синхронизации изменений между микросервисами и общей БД часто используются:

  1. Событийная архитектура (Event Sourcing / Pub-Sub)
    Пример с Spring Boot и Kafka:
    java
    @Transactional
    public void updateOrder(Order order) {
        orderRepository.save(order);
        kafkaTemplate.send("order-updated", order.getId());
    }
  1. Outbox Pattern
    Запись событий в таблицу-аутбокс в той же транзакции, затем отдельный процесс рассылает события.

  2. Saga Pattern
    Для распределённых транзакций, где каждый шаг компенсируется при ошибке.

  3. CDC (Change Data Capture)
    Инструменты типа Debezium, отслеживающие изменения в логах БД.

Ключевые принципы:

  • Идемпотентность обработки событий
  • Отслеживание порядка событий
  • Компенсирующие транзакции для отката
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы