Реагирующие приложения на основе источников событий CQRS +: как? - PullRequest
0 голосов
/ 19 сентября 2018

Учитывая архитектуру, в которой события из какого-либо источника появляются в любое время.У нас есть командная сторона, состоящая из обработчиков событий, которые получают эти события и сохраняют их в базе данных.Кроме того, обработчики событий асинхронно вызывают сервисы, которые анализируют события и создают подготовленное представление.Что касается запросов, у нас есть внутренние сервисы (скажем, основанные на весеннем webflux или любом другом типе реактивного расширения) и потребляющий веб-сервис (например, одностраничное приложение Angular), который должен обновляться при каждом входящем событии события.

Поскольку большинство (или все, я просто не знаю) баз данных SQL (например, MariaDB) не поддерживают реакции, основанные на изменениях данных.Мне нужно подумать о другом способе сообщить моему сервису на стороне запроса обновить Flux или что-либо еще, что используется моим интерфейсом.

Есть ли лучший способ сделать это, или, по крайней мере,хорошее решение для этого, которое не зависит от времени опроса (в лучшем случае с Java Spring и без необходимости дополнительного брокера)?

1 Ответ

0 голосов
/ 24 ноября 2018

Посмотрите на Axon Framework.У него есть концепция, называемая Subscription Queries, которая может реагировать на изменения стороны запроса.По сути, это:

  1. Пожалуйста, предоставьте текущий результат этого конкретного запроса.
  2. Пока я не отменю, если что-то изменится в этих результатах, пожалуйста, дайте мне знать.
  1. Пример реализации
  2. Axon: Блог о запросах на подписку
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...