Domain Events и Integration Events: в чём разница?
По мере развития приложения часто приходят к событийному взаимодействию. Один из простейших паттернов — уведомление о событии, или Event Notification.
В Domain-Driven Design агрегат задаёт границу согласованности. Если произошедшее внутри него должно вызвать изменения за его пределами, можно опубликовать доменное событие. Обработчики отреагируют на него и выполнят нужные действия, сохраняя слабую связанность между агрегатами.
Доменные события — внутри bounded context. Они помогают отделить основную доменную логику от дополнительных действий.
Интеграционные события — между bounded contexts. Например, один микросервис публикует событие, а другой получает его и обрабатывает.
Важный нюанс: доменные события могут обрабатываться как синхронно, так и асинхронно. Интеграционные обычно передаются асинхронно, после успешного сохранения изменений.
Пример реализации
👉 @KodBlog
Post #2441
759

- ❤ 3
- 👍 2