А какие виды CQRS вы знаете? Андрей Цветцих, Тинькофф

Казалось бы, про CQRS всё уже давно сказано — но мне есть что добавить! Если спросить backend разработчика про CQRS — конечно он скажет, что знает о таком подходе. Но если спросить о подробностях — то получим много различных вариантов и трактований. В докладе я обобщу свой многолетний опыт применения CQRS. Обсудим, какие варианты реализации CQRS бывают. Какие преимущества дает каждый из вариантов и какие он накладывает ограничения. Так же обсудим самые популярные вопросы и заблуждения CQRS: Могут ли команды возвращать значения. Если нет — то почему? Могут ли query писать логи? Что делать, если две команды должны использовать общую логику? Поможет ли CQRS при росте нагрузки на сервис? Примеры кода будут на C#, но общие принципы не зависят от конкретного языка или платформы. А для тех, кто пишет на Java/Kotlin, в конце доклада будет приятный бонус. На мой взгляд, основная ценность для слушателей — показать, что под термином CQRS часто понимают совершенно разные реализации. И это нормально, просто важно об этом помнить. Я покажу свой рецепт использования общей логики между разными handlers (об этом в докладах обычно ничего не говорят). Для .NET обсудим библиотеку MediatR. И её порт на java в виде PipelinR (тот редкий случай, когда либу портировали .NET - Java, а не наоборот).

Смотрите также