Разновидности event-driven архитектуры
Согласно Фаулеру (видео), существует 3 типа Event-Driven архитектуры:
- event notification — уведомление о событии. У меня что-то поменялось, дерни меня синхронно, чтобы узнать что.
- event-carried state transfer — передача состояния в событиях. У меня поменялось поле, новое значение такое-то. Или мое состояние поменялось, вот текущее.
- event sourcing — нет никаких состояний, есть только набор событий, они являются мастер-данными. Хочешь состояние — либо сам храни, либо вычисляй. Иногда, так и быть, дадим тебе слепок, чтобы попроще было вычислять.