TGViewer
IT АНАЛитика | Вильд Виктор IT АНАЛитика | Вильд Виктор @it_deep_sight · 2.07K subscribers
Post #282 768
🔤🔤🔤🔤: что это и зачем знать аналитику?

Раньше на канале выходили посты про технические штуки:
ConfigMap: Что такое и зачем?
Что такое Feign?
MAPI: что это и зачем знать аналитикам?
Что такое DTO и зачем это знать аналитику?
HAProxy: зачем это знать аналитику?
Mapping: что это такое и зачем знать аналитику?

Хочется сделать из этого отдельную рубрику про вещи, которые все скорее всего знают, они на слуху, но если спросить, в ответ услышишь: «ну блин, это же это вот, да блин, все знают, ёмоё» 🙂

Что такое CQRS?

CQRS — архитектурный паттерн. Расшифровывается как Command Query Responsibility Segregation — разделение ответственности команд и запросов.

По-простому: операции чтения (Query) и изменения данных (Command) разделяются и живут независимо друг от друга.

В классическом подходе команды и запросы идут вместе. CQRS говорит: разделите их. Пусть каждый занимается своей задачей.

Пример🏦

Допустим, есть сервис работы со счетами.

Есть сервис счетов.

Пользователи постоянно:
— смотрят баланс
— открывают историю операций

Это чтение.

Параллельно идут:
— переводы
— пополнения
— списания

Это запись.

Если использовать одну модель для всего, то при высокой нагрузке они начинают мешать друг другу:
тяжёлые операции записи тормозят чтение, а частые запросы будут перегружать систему.

CQRS решает это разделением: отдельная модель для чтения, отдельная для записи. И дальше это можно удобно масштабировать.

Важный момент: CQRS не обязательно означает две отдельные модели данных. Модель может быть одна, но пути для чтения и записи разные. Две модели — это один из вариантов реализации, который часто используют вместе с Event Sourcing.

Когда применять, а когда нет
🤔

Подойдет, если:
🆗 Нагрузка на чтение и запись сильно отличается
🆗 Сложная бизнес-логика на запись
🆗 Есть требования к производительности
🆗 Нужна независимая масштабируемость в процессах

Не лучший вариант, если у вас:
❌ Простое CRUD-приложение
❌ Маленький проект и команда
❌ нет понимания, зачем это нужно
❌ Не готовы к сложности синхронизации — если используете две модели, данные для чтения могут отставать от записи (eventual consistency)

Зачем это знать аналитику?
Потому что именно ты описываешь как данные читаются и записываются в системе. Если сервис небольшой, можно и забить. Но если архитектора нет — возможно именно ты поможешь спроектировать решение, которое потом не придётся переделывать.

Ну и на собесе спросят. Лучше ответить нормально, чем мычать 🙂

А вы сталкивались с CQRS в своих проектах?
#технические_штуки

IT АНАЛитика | Подписаться
  • 🔥 8
  • 👍 1
More from @it_deep_sight
  1. Sep 18, 2026Вот вам оффер пошел нах*й Часть 2 Как и обещал, вторая часть 🔥 Если пропустили первую, та…
  2. Sep 11, 2026Штош ты ментор сдал назад? Часть 2 Менторство почти подошло к концу. На картинке итоговый…
  3. Sep 8, 2026Коллеги, кто? IT АНАЛитика | Подписаться
  4. Sep 4, 2026Архитектурный паттерн "Метнись кабанчиком": разбираемся со Scatter/Gather Сейчас на рынке…
  5. Aug 27, 2026Почему Авито не подключает микросервисы к Kafka напрямую? Хороший кейс для разбора по сист…
  6. Aug 13, 2026Вот вам оффер пошел нах*й 🤝🤝 Прошлый пост про книгу собрал много реакций и репостов. Хоч…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →