Size: a a a

Software Design/Architecture/Zen

2021 July 28

ПГ

Павел Г. in Software Design/Architecture/Zen
Я просто хочу минусы понять.
источник

AL

Anton Lakotka in Software Design/Architecture/Zen
Это все должно быть скрыто на уровне "инфаструктуры"
источник

AL

Anton Lakotka in Software Design/Architecture/Zen
т.е. когда сага говорит "отменить", это по-факту можнт оказаться rollback в бд.
источник

AK

Aleh Kashnikau in Software Design/Architecture/Zen
а можете чуть подробнее описать когда происходит сохранение заказа с доставками? Это покупатель до оплаты делает или это он у себя в истории в профиле что-томеняет?
источник

AL

Anton Lakotka in Software Design/Architecture/Zen
а может быть и новый запрос с удалением, например.
источник

ПГ

Павел Г. in Software Design/Architecture/Zen
Хм, т.е. кейс не совсем плох...
источник

AL

Anton Lakotka in Software Design/Architecture/Zen
но как только этот роллбек будет влиять на что-то еще неявным образом -- это сразу no go.
источник

ПГ

Павел Г. in Software Design/Architecture/Zen
До оплаты. Пользователь оформляет конфигурацию заказа и доставки и все это скопом улетает на бэк.
источник

HH

Human Human in Software Design/Architecture/Zen
Минус большого агрегата в том, что тебе прийдется лочить все эти данные внутри агрегата. Те умньшаешь пропускную способность.  Если тебе это не нужно, то фигачь атомарно в бд и не парься
источник

ПГ

Павел Г. in Software Design/Architecture/Zen
Так это не большой агргегат, а два поменьше и вопрос как лучше сохранять их атомарно
источник

HH

Human Human in Software Design/Architecture/Zen
Минус саг - это более сложно инфраструктурно. Я думаю за это нужно платить, если это нужно.
источник

HH

Human Human in Software Design/Architecture/Zen
Значит ты не понял понятие агрегат. Это и есть атомарная граница.
источник

HH

Human Human in Software Design/Architecture/Zen
Если ты хочешь что-то сохранять атомарно, это уже один агрегат. Либо переделывай границы
источник

ПГ

Павел Г. in Software Design/Architecture/Zen
Вот кейс: заказ и доставка. Два агрегата. Должны сохраниться или не сохраниться вместе (в конченом итоге).
источник

ПГ

Павел Г. in Software Design/Architecture/Zen
Это же не одни год агрегат
источник

k

knopkod4v in Software Design/Architecture/Zen
почему должны?
источник

AK

Aleh Kashnikau in Software Design/Architecture/Zen
если происходит в одной транзакции, то это один большой агрегат, то что по коду у вас есть какие-то псевдоагрегаты ничего не меняет. Агрегат это граница транзакции
источник

ПГ

Павел Г. in Software Design/Architecture/Zen
Ну а как - заказ подтведился, а потом проверка каких то данных при сохранении доставки - выдало ошибку. Мне надо или откатывать заказ  или поддержать по другому откат на начальную стадию общей операции
источник

HH

Human Human in Software Design/Architecture/Zen
Ну тогда у тебя появляется асинхронность и итоговая согласнованность вместо атомарной. Это сложнее инфраструктурно поддерживать, но если тебе нужна масштабируемость и пропускная способность - делай
источник

AK

Aleh Kashnikau in Software Design/Architecture/Zen
конфигурация заказа это чего сколько хочет купить? + куда доставить
источник