2016-08-22 9 views
0

Мы беспокоимся об эффективности использования единой коллекции Mongo (domainevents) для событий домена.Основание Axon - с использованием отдельной Mongo-коллекции событий домена для каждого совокупного корня

Приятно ли разделить коллекцию domainevents на отдельные коллекции для каждого заполнителя?

У нас есть модель запроса, которая генерируется на основе событий из нескольких совокупных корней. Если мы разделим domainevents на несколько коллекций, будет ли Axon сохранять порядок событий через совокупные корни?

И это вообще хорошая идея?

ответ

1

Здесь есть несколько вопросов, требующих различного знания для ответа. Я не эксперт MongoDB, но знаю свой путь вокруг Аксона, будучи основателем.

MongoEventStore в Axon не поддерживает несколько коллекций для событий домена. Таким образом, ответ на ваш запрос сохранения заказа: он не будет работать, если вы не создадите для него поддержку самостоятельно. И тогда заказ гарантируется в зависимости от того, как вы его построили.

Вы также можете рассмотреть возможность обложения Монгольской коллекции. Использование агрегированного идентификатора в виде ключа осколка позволит вам гарантировать, что запросы для совокупного потока попадают в один осколок. Согласно документации, рекомендуется избегать запросов, которые не включают этот ключ осколка.

Лучший подход к решению этой проблемы производительности - это выполнить тест производительности. Посмотрите, как влияет время ожидания и пропускная способность при увеличении размера коллекции. Добавление правильных индексов может помочь.

 Смежные вопросы

  • Нет связанных вопросов^_^