Size: a a a

2021 September 09

SP

Sergey Protko in symfony
если очень хочется поиграться с концепцией - рекомендую начинать с этого: https://www.eventstore.com/
источник

SP

Sergey Protko in symfony
сразу миллион проблем решаются инфраструктурой
источник

✨Basic_Instinct✨ in symfony
ни капли нистрашно)
источник

SP

Sergey Protko in symfony
слабоумие и отвага, это наш подход да
источник

SP

Sergey Protko in symfony
я серьезно - перед тем как пробовать чет свое мутить лучше поиграться с eventstoredb. просто что бы разобраться и не тратить время на кучу нюансов про которые не оч хочется думать первое время
источник

SP

Sergey Protko in symfony
что до CQRS - мощь CQRS там где у тебя моделирование происходит с учетом того что есть команды (операции которые пользователь запускает что бы поменять стэйт системы, что бы что-то произошло) и "команды не должны падать по бизнес причинам". Условно клиент что бы мог кинуть команду на сервер и выстроить UI так что "команда ушла - мне не обязательно ждать результата я могу сразу на UI обновить как будто все сделано".
источник

DS

Dmitriy S in symfony
А сам-то пробовал?:)
источник

SP

Sergey Protko in symfony
читай выше, юзаю ES уже лет 5
источник

SP

Sergey Protko in symfony
и уже не первый проект потому говна хлебнул
источник

SP

Sergey Protko in symfony
ну то есть это реально сложно это не похоже на "просто шину команд" и т.д. (считай что все команды выполняются строго в бэкграунде). И смысл в этом есть только там где либо хочется каких-то гарантий что операции пользователя будут обработаны (нельзя просрать данные пользователя) либо там где высокая конкурентность за ресурсы (аукционы, резервирование билетов, прочие штуки где все хотят купить последний айтем и 99% запросов бы упало из-за гонок). И это все будет влиять на то как флоу пользователя должен работать... Иначе это все просто command pattern + CQS и никакого отношения к CQRS не имеет
источник

✨Basic_Instinct✨ in symfony
но CQRS не про запись в мастер, а четние с реплик, или отдаленно что-то в этом есть?
источник

SP

Sergey Protko in symfony
command/query repsponsibility segregation - это буквально "подход при котором мы разделяем операции на команды и запросы, запросы не меняют стэйт, команды никогда не должны фэйлиться по бизнес логике". То есть именно сам подход к разделению важен. а что ты потом с этим делаешь - просто мастер и проекции, или там еще чего...
источник

✨Basic_Instinct✨ in symfony
ну да, все верно
источник

SP

Sergey Protko in symfony
короч посмотри видосики Уди, его трактовки CQRS мне кажутся наиболее полезными. Как никак они с Грегом себе авторство приписывают
источник

SP

Sergey Protko in symfony
только грэг больше продает event sourcing и у него эта ниша, а у Уди nservicebus и cqrs
источник

✨Basic_Instinct✨ in symfony
я чувствую, как у тебя прям глаза горят беседовать об грамотных подходах ))
источник

✨Basic_Instinct✨ in symfony
благодарю!
источник

MM

Maksim Masiukevich in symfony
> команды никогда не должны фэйлиться по бизнес логике

сомнительно.
а по сути, если хочешь просрать проект, то бери es и миссия будет достигнута спустя пол года.
источник

SP

Sergey Protko in symfony
они не "грамотные", они специфичные достаточно. Просто нынче со всей этой движухой в сторону serverless, offline first и т.д. они становятся чуть чуть более востребованы
источник

SP

Sergey Protko in symfony
что именно сомнительно?
источник