Проверка уникальности при использовании CQRS и источников событий

Я пытаюсь реализовать свою собственную инфраструктуру CQRS с помощью Event Sourcing, чтобы лучше ее изучить. В качестве примера проекта я реализую движок блога, я знаю, что он может не подходить идеально, но я просто хочу поработать над чем-то реальным.

Проблема, к которой я пришел, - это проверка. Каждый пост имеетshortUrlиshortUrl должен быть уникальным, но где я должен поставить эту проверку в домене? Я знаю, что у меня будет эта проверка еще до того, как я отправлю команду, читая из моего хранилища для чтения, чтобы проверить, является ли она действительной при создании команды create post или update post.

Я могу думать о двух «решениях».

ЕстьBlog агрегат, который отслеживает все настройки, связанные с блогом, а также ссылки на все сообщения. Но проблема с этим в моих глазах заключается в том, что мне приходится обрабатывать связь между агрегатами в этом сценарии, а также каждый раз, когда мне нужно проверить уникальностьshortUrl Мне нужно прочитать все события из хранилища событий, чтобы создать все сообщения, и это кажется сложным.Вторая альтернатива, которую я имею, - это когда событие запускается, и мой обработчик событий, который создает модель чтения, запускает двойное короткое событие URL-адреса, когда замечает, что у него будет два коротких URL-адреса, указывающих на разные сообщения. Допустимо ли иметь модель чтения для запуска событий при обнаружении ошибок?

Есть ли еще альтернативы. Обратите внимание, что я знаю, что мой домен может не подходить для cqrs и DDD, но я делаю это для обучения в небольшом домене.