Axon Kafka ext - EventPublicationFailedException, если служба команд масштабируется по горизонтали - PullRequest
0 голосов
/ 27 мая 2020

Настройка

  • Автономный экземпляр Kafka
  • MySQL база данных как хранилище событий
  • Служба команд, реализованная с использованием SpringBoot и AxonFrameowrk Kafka Extension
  • Командная служба развернута в кластере K8S

Тестовый сценарий

Сценарий Jemeter с 500 одновременными тестовыми пользователями, запускающими команду через REST

  • Командная служба с один экземпляр - Все успешно

  • Служба команд масштабируется до 2 экземпляров - Все успешно

  • Служба команд масштабируется до 3 или 4 экземпляров - Ошибки наблюдаются для определенных запросов, за исключением, как показано ниже

ERROR[0;39m o.a.c.c.C.[.[.[.[dispatcherServlet].log - Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Request processing failed; nested exception is org.axonframework.messaging.EventPublicationFailedException: Event publication failed: Exception occurred while committing kafka transaction]

Проверен источник расширения kafka и можно было видеть, что это исключение сопоставлено с ProducerFencedException

Кажется, что оно генерирует повторяющиеся идентификаторы событий / транзакций, когда службы команд горизонтально масштабируются.

Пожалуйста, предложите remidy или альтернативу, чтобы избежать этих ex рецепции.

...