Size: a a a

Saint P Ruby Community

2020 September 16

MS

Mikhail Sytchev in Saint P Ruby Community
Надо сразу было так делать
источник

ЕЗ

Евгений Зубаиров... in Saint P Ruby Community
Ну не, раньше точно смысла не было. Это и сейчас-то может иметь смысл, только если сети будут прям сильно отличаться.
А некоторые сильно выбиваются.
источник

ЕЗ

Евгений Зубаиров... in Saint P Ruby Community
Сервисы ради сервисов тоже ж не хочется.
источник

A

Anton in Saint P Ruby Community
добрый вечер, кто-нить практикует event sourcing?
источник

AD

Anton Davydov in Saint P Ruby Community
думаю, что это ко мне
источник

AD

Anton Davydov in Saint P Ruby Community
тебе прямо ES, а не event driven?
источник

A

Anton in Saint P Ruby Community
да, ES. У меня практический вопрос
источник

A

Anton in Saint P Ruby Community
С фронта на апи передается большой json объект с данными и со вложенными объектами, который создает или апдейтит сущность в бд, а так же апдейтит/создает ассоциации с вложенностью. Вложенность > 1.
Например может быть такая вложенность
Статья -> Контентный блок типа фото галерея -> Изображение фотогалереи
И вот например при апдейте
- изменилось часть полей у статьи,
- изменилась позиция контентного блока в статье
- изменили подпись у узображения
Другими словами поменялись все три сущности
Как принято в ES? Это один эвент или несколько для каждой сущности свой?
источник

AD

Anton Davydov in Saint P Ruby Community
это похоже на проблему агрегата
источник

AD

Anton Davydov in Saint P Ruby Community
т.е. у тебя есть агрегат, который ты передаешь, а в других частях у тебя используются только части этого агрегата
источник

AD

Anton Davydov in Saint P Ruby Community
по идее, ты можешь одним событием все пихать, а можешь разбить на “энтити” все и их сохранять отдельными событиями
источник

AD

Anton Davydov in Saint P Ruby Community
т.е. ответа нет правильного на твой вопрос и все очень зависит от конкретной системы
источник

A

Anton in Saint P Ruby Community
просто в рельсах удобненьо же когда передаешь ему _destroy + id или _attributes и рельсы тебе неявно всё что надо делают.
так вот получается чтобы собрать один объект со всеми изменениями надо уйти от неявного к явному сохранению при этом проверять каждое поле на предмет изменения вручную?
источник

AD

Anton Davydov in Saint P Ruby Community
либо кешировать агрегат в базе данных
источник

A

Anton in Saint P Ruby Community
если разбить на "энтити" там обзерверами можно в принципе
источник

A

Anton in Saint P Ruby Community
но хотелось бы целиком
источник

AD

Anton Davydov in Saint P Ruby Community
если тебе в “90%” времени нужен только последнее состояние
источник

A

Anton in Saint P Ruby Community
вобщем я понял что мне видимо не хватает знаний про агрегат, почитаю еще, спасибо!
источник

AD

Anton Davydov in Saint P Ruby Community
ну скорее тут пока не понятно в чем изначальная проблема, потому что сделать можно вообще все что угодно
источник

AD

Anton Davydov in Saint P Ruby Community
только зачем и какую проблему решить хочешь
источник