У меня есть простая архитектура CQRS, которая работает хорошо. Событие публикуется и подписывается различными подписчиками, один из которых синхронизирует базу данных отчетов [в RavenDb].Регенерирующая база запросов
Скажем, например, моя база данных отчетов повреждена/потеряна. С Event Sourcing я могу воспроизвести события и перестроить базу данных отчетов, однако я [в настоящее время] не использую источники событий; У меня есть простой nHibernate persister для реляционного хранилища. Было ли решение создать сценарий «регенерации», который по существу отправил бы все события на основе реляционного хранилища (например, PersonCreatedEvent, а затем 30xPersonLikedBlogPostEvent и т. Д.)? Это по сути делает то же самое, что и источник событий, но события выводятся из реляционной модели.
Очевидно, что здесь стоит упомянуть как ремонтопригодность и DR.
Спасибо, я не слишком суетился о преимуществах регенерации из/истинного представления истории объектов и т. Д., Но наличие базы данных отчетов RavenDb важно для SLA производительности сайта. Однако я перехожу к источнику событий. С уважением – sjhuk