Добавить в корзинуПозвонить
Найти в Дзене
CODERIKK

🔹 Event Sourcing: восстановление состояния через журнал событий

🔹 Как восстановить состояние системы из событий? 🔸 Сохраняем изменения как события, а не перезаписываем состояние. Это решает проблему потери истории и даёт источник правды для recovery: event store — append-only immutable log, где каждое событие фиксирует изменение. 🔸 Во время восстановления читаем event store и реиграем события (реиграть события) в приложении: последовательное применение событий строит текущее состояние. Пример реигровки: state = State() for e in event_store.load(stream_id): state.apply(e) 🔸 Когда нужно: для аудита, time‑travel и сложных агрегатов. Минусы: длинный лог замедляет recovery — решается снапшотами, версионированием событий и архивацией. 📚 event store + immutable log + реиграть события = детерминированная recovery и полная история. #CODERIKK #DE #Senior ➡️ Мы в Telegram - Сетке - ВК Буду рад вашей реакции здесь⬇️

🔹 Event Sourcing: восстановление состояния через журнал событий

🔹 Как восстановить состояние системы из событий?

🔸 Сохраняем изменения как события, а не перезаписываем состояние. Это решает проблему потери истории и даёт источник правды для recovery: event store — append-only immutable log, где каждое событие фиксирует изменение.

🔸 Во время восстановления читаем event store и реиграем события (реиграть события) в приложении: последовательное применение событий строит текущее состояние. Пример реигровки:

state = State()

for e in event_store.load(stream_id):

state.apply(e)

🔸 Когда нужно: для аудита, time‑travel и сложных агрегатов. Минусы: длинный лог замедляет recovery — решается снапшотами, версионированием событий и архивацией.

📚 event store + immutable log + реиграть события = детерминированная recovery и полная история.

#CODERIKK #DE #Senior

➡️ Мы в Telegram - Сетке - ВК

Буду рад вашей реакции здесь⬇️