Реализация хранилища событий¶
Хранилище событий — это гибрид базы данных и брокера сообщений. БД — потому что у него еcть API для вставки и извлечения событий агрегата по первичному ключу. Брокер сообщений — потому что у него есть API для подписки на события.
Существует несколько способов реализации хранилища событий. Можно написать всё с нуля. Хранить записи в реляционной БД. Подписчики могут опрашивать таблицу EVENTS на предмет новый событий, однако необходимо гарантировать, что подписчики будут обрабатывать события в правильном порядке.
Также можно воспользоваться одним из специализированных проектов. Например:
- Event Store — Opensource хранилище событий на .NET от Грега Янга (Greg Young)
- Lagom — микросервисный фреймворк от компании Lightbend
- Axon — Opensource фреймворк для разработки событийных приложений
- Eventuate — фреймворк, разработанный стартапом автора книги
Дальше в подразделе обзор фреймворка Eventuate. Он хранит события в БД (например, MySQL), а отправляются события через Apache Kafka. От БД в Kafka события передаются через отслеживание журнала транзакций
Дата создания : 29 июля 2022 г.