Перейти к содержанию

Реализация хранилища событий

Хранилище событий — это гибрид базы данных и брокера сообщений. БД — потому что у него еcть API для вставки и извлечения событий агрегата по первичному ключу. Брокер сообщений — потому что у него есть API для подписки на события.

Существует несколько способов реализации хранилища событий. Можно написать всё с нуля. Хранить записи в реляционной БД. Подписчики могут опрашивать таблицу EVENTS на предмет новый событий, однако необходимо гарантировать, что подписчики будут обрабатывать события в правильном порядке.

Также можно воспользоваться одним из специализированных проектов. Например:

  • Event Store — Opensource хранилище событий на .NET от Грега Янга (Greg Young)
  • Lagom — микросервисный фреймворк от компании Lightbend
  • Axon — Opensource фреймворк для разработки событийных приложений
  • Eventuate — фреймворк, разработанный стартапом автора книги

Дальше в подразделе обзор фреймворка Eventuate. Он хранит события в БД (например, MySQL), а отправляются события через Apache Kafka. От БД в Kafka события передаются через отслеживание журнала транзакций


Последнее обновление : 25 мая 2023 г.
Дата создания : 29 июля 2022 г.

Комментарии

Комментарии