Event sourcing - паттерн, который говорит, что:
Преимущества работы с событиями:
Очень важно: обработчик событий должен быть идемпотентным (обнаруживая и отклоняя повторяющиеся сообщения), т.к. если он неидемпотентный, то повторяющиеся события приводят к некорректным результатам. Например, обработчик, который не поддерживает идемпотентность будет инкрементировать баланс на банковском счету. Обработчики должны обнаруживать и отклонять дубликаты.
Имеет обычно приблизительно такую структуру:
