Запросы на подписку в многоузловой среде - PullRequest
1 голос
/ 19 сентября 2019

Наш сервис с поддержкой аксонов работает на нескольких узлах.Наши обработчики событий отслеживают (1 сегмент, таким образом, активны на одном узле).Если я подпишусь на запрос на узле A, а событие, которое должно вызвать обновление, будет обработано на узле B, узел A пропустит это.

Это задумано или должно сработать, и я неправильно настраиваю приложение?

В случае первого, что мы могли бы сделать, чтобы реализовать аналогичную функциональность наиболее идиоматическим образом?(в настоящее время мы опрашиваем источник данных / проекцию напрямую в течение x секунд)

1 Ответ

1 голос
/ 20 сентября 2019

QueryBus, который вы используете - это SimpleQueryBus, который всегда находится в пределах одной JVM.

Если вам нужна распределенная версия QueryBus, вам следует обратиться к Axon Server как централизованное средство для маршрутизации запросов между вашими узлами.

Обратите внимание, что, хотя вы можете создать это самостоятельно, люди пытались это сделать (как показано в this Запрос на извлечениена платформе) и принял решение в пользу оптимизаций, выполненных в Axon Server.

Итак, я предполагаю, что в настоящее время вы исключаете разъем Axon Server.Таким образом, фреймворк дает вам SimpleQueryBus, который действительно разработан, чтобы не охватывать несколько узлов.И, наконец, самый быстрый способ добиться распределенной маршрутизации запросов - это использовать Axon Server.

...