Несмотря на то, что я интенсивно читал об целостности транзакций в NEventStore, я не могу понять, как NEventStore действительно масштабируется при наличии большого количества экземпляров NEventStore.NEventStore: Как происходит отправка нераспределенных событий?
Чтобы подвести итог моему пониманию, событие добавляется к объявлению как неустановленное, затем оно публикуется диспетчерам и затем помечено как отправленное.
В то же время, всякий раз, когда вы подключаете NEventStore, он отправляется на поиск непредвиденных событий, а затем отправляет их и отмечает событие как отправленное.
Но тогда должен быть короткий промежуток времени, когда проводка нового магазина событий увидит несанкционированные события, которые будут отправлены (из других магазинов). Новый магазин событий отправит события снова.
Think этой архитектуры:
Client -> Command Bus -> Command Handler -> EventStore persist -> Dispatch to Event Handlers
Если у нас есть много Command Handlers
обрабатывать нашу нагрузку, мы также сохраняющиеся много событий.
Если мы часто удаляем или создаем Command Handlers
, тогда многие EventStores будут подключены и будут отправляться в диспетчеризацию уже отправленных событий.
Я понимаю, что потребители диспетчера должны быть идемпотентными, что не является моей проблемой. Моя проблема заключается в том, будем ли мы предоставлять ненужную сумму нагрузки для потребителей обработчиков команд в ситуации с высокой нагрузкой?