Event-Sourcing, CQRS, REST и IdentityTracking - PullRequest
0 голосов
/ 06 июня 2019

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

Мне только что пришла в голову мысль о том, что кто-то может помочь мне понятьгде я иду не так.

Основная идея, лежащая в основе поиска событий и CQRS вместе, будет заключаться в том, что все будет храниться как события, и CQRS позволит вам затем проходить через эти события и формулировать модель чтения (если вы хотите) из всех этих событий, чтобы вы могли запросить его.Например, имея список событий, созданных пользователем, вы можете затем создать из него базу данных с пользователями.

Приятная вещь в этой модели, потому что все является событиями, а не состоянием на ее основе, вы можете стереть васпрочитайте модель и восстановите ее.Может быть, событие переродит его по-другому.скажем, добавить столбец или удалить столбец или даже обработать его совершенно по-другому.

Теперь, если бы мне нужно было иметь API REST поверх этого представления для запроса данных в нем, как я могу гарантировать, что идентификаторы/ идентификаторы ресурсов из остального вида остаются прежними.

Скажем, я ссылаюсь на пользователей / 1 из API.Затем я регенерирую свою модель, потому что я немного изменяю то, как я это сделал, личность может измениться.

Значит ли это, что вы можете изменить свою модель только таким образом, что это не повлияет на API и любые другие?предыдущие ссылки (например, его контракт (что, вероятно, является ответом))?

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

Даже если яне изменили мой контракт API и идентификаторы ресурсов, когда я снова сгенерирую представление, оно будет вставляться в базу данных свежим, и хотя оно должно быть таким же, если события все одинаковые, я все еще живу в страхе: P, что еслисобытие было потеряно или что-то случилось со списком событий, чтобы сделать его немного отличающимся.

Я полагаю, его мысль об этом не определена.

Извините, если все это болтовня.Надеюсь, кто-нибудь может мне немного помочь.

...