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

Что такое Event Sourcing

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

Ключевые особенности:

  • Состояние восстанавливается путём применения всех событий
  • События неизменяемы (append-only)
  • Позволяет реализовать временные точки (time travel)

Пример:

python
class Account:
    def __init__(self):
        self.balance = 0
        self.events = []

    def deposit(self, amount):
        self.events.append(("deposited", amount))
        self.balance += amount

    def withdraw(self, amount):
        if self.balance >= amount:
            self.events.append(("withdrawn", amount))
            self.balance -= amount

Преимущества:
✔ Аудит изменений
✔ Воспроизведение состояния на любую дату
✔ Гибкость в обработке данных

Недостатки:
✖ Сложность реализации
✖ Нагрузка на хранение событий
✖ Необходимость компенсирующих событий для ошибок

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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