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

Что такое паттерн Event Sourcing

Event Sourcing — это архитектурный паттерн, при котором состояние приложения определяется последовательностью событий. Вместо хранения текущего состояния данные сохраняются как поток неизменяемых событий. При необходимости состояние восстанавливается путем применения всех событий в хронологическом порядке.

Преимущества:

  • Полный аудит изменений
  • Возможность "переиграть" события для восстановления состояния
  • Поддержка временных запросов (как выглядели данные в прошлом)

Недостатки:

  • Сложность в реализации
  • Нагрузка при восстановлении состояния

Пример (упрощенный):

java
class Account {
    private String id;
    private int balance;

    void apply(DepositEvent event) {
        balance += event.amount();
    }

    void apply(WithdrawalEvent event) {
        balance -= event.amount();
    }
}

// Восстановление состояния
Account account = new Account();
eventStore.getEvents(accountId).forEach(account::apply);
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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