Я предполагаю, что вы имеете в виду, что ваши "подключаемые элементы" являются частью совокупности "сети", и вы спрашиваете, должны ли они быть их собственной совокупностью? Это действительно зависит от природы вашей системы и проблемы и является скорее проблемой DDD, чем простой проблемой CQRS. Однако, если характер ваших изменений обычно заключается в том, что они работают с элементами независимо друг от друга, тогда, вероятно, должны быть сами агрегированные корни. Независимо от того, чтобы ответить на этот вопрос, нам нужно знать гораздо больше о моделируемой вами системе.
Что касается задачи воспроизведения тысяч событий, вам, конечно, не обязательно воспроизводить все свои события для каждой команды. Конечно, снимок является опцией, но еще лучше, если кэшировать совокупные корневые объекты в памяти после их первой загрузки, чтобы гарантировать, что вам не придется извлекать события из каждой команды (за исключением случаев сбоя системы, В этом случае вы можете использовать моментальные снимки для более быстрого восстановления, хотя они могут и не понадобиться при кэшировании, поскольку вы платите только один раз за загрузку).
Теперь, если вы распределяете эту систему по нескольким хостам или потокам, есть некоторые другие вопросы, которые следует рассмотреть, но я думаю, что обсуждение лучше оставить для другого вопроса или форумов.
Наконец, вы спросили (я думаю), может ли событие изменить более одного свойства состояния объекта? Да, если это то, что имеет смысл, основываясь на том, что представляет это событие. Идея события заключается просто в том, что оно представляет изменение состояния в совокупности, однако эти события должны также представлять концепции, которые имеют смысл для бизнеса.
Надеюсь, это поможет.