Size: a a a

Software Design/Architecture/Zen

2021 July 15

AK

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

AI

Arthur Irgashev in Software Design/Architecture/Zen
> команды не возвращают статус немедленно
нет, это не значит это. советую не рвать из контекста и почитать 2умя абзацами ниже
источник

ИЛ

Иван Лещёв in Software Design/Architecture/Zen
скажем так, если есть отдельная модель для чтения, то не надо городить отдельную сериализацию для полной сущности
это усложнение, но одновременно и упрощение
источник

NF

Nikita Fedorov in Software Design/Architecture/Zen
где, не вижу ничего подобного
источник

AI

Arthur Irgashev in Software Design/Architecture/Zen
в целом, я смотрю, он описывает весьма странный подход, ориентированный на лонг раннинг процессы
источник

AK

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

SP

Sergey Protko in Software Design/Architecture/Zen
Ну что есть кейсы когда нет колаборации, нет гонок, например Инстаграм. Там ты работаешь со своими постами, своими лайками. Конфликты маловероятны

А есть колаборативный домен. Например бронирование билетов, где все 100к билетов на мероприятие скупают за пол часа. Там высокая вероятность гонок и надо это хэнддить. Cqrs в трактовке уди там позволяет это делать без локов (технически Локи под капотом там есть но это тип очереди)
источник

ИЛ

Иван Лещёв in Software Design/Architecture/Zen
понятно, я просто подумал про колаборацию/связность между доменами, а не внутри домена гонка
источник

AI

Arthur Irgashev in Software Design/Architecture/Zen
> We could even consider allowing our users to submit a new command even before they've received confirmation on the previous one.
вот это вообще мега странно
источник

AI

Arthur Irgashev in Software Design/Architecture/Zen
если важна последовательность вызовов ? Если результат второй команды зависит от первого ?
источник

SP

Sergey Protko in Software Design/Architecture/Zen
Нет колаборации - тупой круд, можно хоть процедуры в базе и тонкий гейтвей к ней


Есть колаборация - можно думать чёт сложнее
источник

AI

Arthur Irgashev in Software Design/Architecture/Zen
> Cqrs в трактовке уди там позволяет это делать без локов (технически Локи под капотом там есть но это тип очереди)
ну цкрс грега янга тоже не запрещает это делать
источник

AI

Arthur Irgashev in Software Design/Architecture/Zen
просто возвращаешь после обработки команды accepted и всё
источник

ИЛ

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

AI

Arthur Irgashev in Software Design/Architecture/Zen
а дахан, я так понимаю, предлагает его использовать только для лонг раннинг операций
источник

SP

Sergey Protko in Software Design/Architecture/Zen
Синхронно = ждать = можно и Локи юзать
источник

Р

Руслан in Software Design/Architecture/Zen
Хороший вопрос
источник

AI

Arthur Irgashev in Software Design/Architecture/Zen
я хоть слово про синхронно написал ?

я говорю вернуть accepted
источник

AI

Arthur Irgashev in Software Design/Architecture/Zen
поставил в обработку, запустил там сагу мб какую-то или коуриер, и вернул клиенту сакссес не дожидаясь завершения
источник

SP

Sergey Protko in Software Design/Architecture/Zen
Если ты кладешь задачу в очередь это детталь реализации, как ты любишь говорить, это не cqrs
источник