Size: a a a

Software Design/Architecture/Zen

2021 May 06

AV

Alexey Vetrov in Software Design/Architecture/Zen
Это к ознакомлению просто
источник

AV

Alexey Vetrov in Software Design/Architecture/Zen
У него более такой практичный пример
источник
2021 May 07

VG

Valentin Gerbey in Software Design/Architecture/Zen
проблему решает outbox pattern, можно пойти ещё по пути ES
источник

ПГ

Павел Г. in Software Design/Architecture/Zen
Спасибо 👍
источник

AN

Allan Nettzan in Software Design/Architecture/Zen
Привет.
У меня есть агрегат N в разных контекстах.
Использую EventSourcing и держу все для этого агрегата в одном потоке.
Для одного агрегата грузится выборочно один тип эвентов для другого другой тип.

Правильно ли это?
источник

AN

Allan Nettzan in Software Design/Architecture/Zen
Обьясню почему я так сделал:

Мне нужны некоторые данные агрегата в двух контекстах сразу
источник

VG

Valentin Gerbey in Software Design/Architecture/Zen
Агрегат - это партиция данных, он не может быть в двух контекстах, сущность — может; если разные контексты используют разные данные, то это разные агрегаты, если используют одни и те же , то значит граница проведена неверно
источник

AN

Allan Nettzan in Software Design/Architecture/Zen
У него может быть одинаковое наименование но смысл разный.

В моем случае общие данных буквально 1-2 поля.
источник

AN

Allan Nettzan in Software Design/Architecture/Zen
В остальное они абсолютно разные
источник

AK

Aleh Kashnikau in Software Design/Architecture/Zen
а что за общие данные? Они влияют на логику обоих агрегатов?
источник

AN

Allan Nettzan in Software Design/Architecture/Zen
Да
источник

AK

Aleh Kashnikau in Software Design/Architecture/Zen
а каким образом? Кто может менять их?
источник

AN

Allan Nettzan in Software Design/Architecture/Zen
Меняет только один контекст
Другому нужно для бизнес правил и тд
источник

AN

Allan Nettzan in Software Design/Architecture/Zen
Стоит учитывать что в моем велосипеде всего 1 контексте меняет эти общие данные
источник

VG

Valentin Gerbey in Software Design/Architecture/Zen
Очень зависит от деталей, возможно границы не правильные, возможно данные нужно скопировать, возможно надо использовать rule engine...
источник

VG

Valentin Gerbey in Software Design/Architecture/Zen
А что касается «в одной таблице хранить события разных агрегатов», то такое не запрещается
источник

ПГ

Павел Г. in Software Design/Architecture/Zen
А можно поточнее, как это сущность может находиться в разных контекстах ? Ну для примера.
источник

VG

Valentin Gerbey in Software Design/Architecture/Zen
источник

ПГ

Павел Г. in Software Design/Architecture/Zen
Это из доклада про Агрегаты вроде, что хранить ID в контекстах разных, а не строить агрегаты большие
источник

VG

Valentin Gerbey in Software Design/Architecture/Zen
Ты спросил за сущность, а сущность там продукт и ее данные хранятся в разных контекстах
источник