In enterprise environments, projects often begin with a simple structure: one model, one service, and one document, using a single class and data transfer object for both read and write operations. While this unified approach works at first, it becomes problematic as requirements grow. Operations become more complex, requiring additional validations, rules, and constraints. Over…...
#cqrs #Java #mongoDB
https://foojay.io/today/introduction-to-cqrs-using-mongodb/
Introduction to CQRS using MongoDB

In enterprise environments, projects often begin with a simple structure: one model, one service, and one document, using a single class and data transfer object for both read and write operations. While this unified approach works at first, it becomes problematic as requirements grow. Operations become more complex, requiring additional validations, rules, and constraints. Over time, read operations may demand different formats, such as aggregations, summaries, or custom views. Relying on a single model for both reading and writing leads to maintenance challenges and inefficient queries. This approach can result in returning unnecessary data or omitting required information, violating the single responsibility principle and making the design less effective.

foojay

Почему я перестал передавать Spring Pageable в контракты слоя приложения

Контракт use case должен описывать потребность приложения, а не API выбранного persistence фреймворка. Spring Data пагинация хорошо работает в CRUD приложениях. Для многих проектов Pageable в application service — это разумный компромисс. Проблема возникает, когда Pageable становится частью публичного контракта use case.

https://habr.com/ru/articles/1044352/

#Clean_Architecture #Pageable #pagination #Repository_Pattern #CQRS #Read_Model #JDBC #java

Почему я перестал передавать Spring Pageable в контракты слоя приложения

Контракт use case должен описывать потребность приложения, а не API выбранного persistence фреймворка. Spring Data пагинация хорошо работает в CRUD приложениях. Для многих проектов Pageable в...

Хабр

В поисках баланса в backend-архитектуре

Размышление о backend‑архитектуре между двумя крайностями: академической чистотой и радикальным прагматизмом. На примере read/write path, CQRS, кэширования готовых ответов и собственного framework‑а на Go я показываю, как архитектурные шаблоны сталкиваются с production‑реальностью.

https://habr.com/ru/articles/1044218/

#backend #golang #go #clean_architecture #ddd #cqrs #архитектура #framework #read_path #write_path

В поисках баланса в backend-архитектуре

Эта статья для всех, кому интересна архитектура backend‑систем, но я понимаю, что для джунов она может быть немного перегружена терминами. Я не жду, что всем...

Хабр

Eventual Consistency: как мы починили тормоза апрува и сломали бюджет

Мы убрали одну блокировку, чтобы апрувы перестали тормозить. Через несколько недель из-за этого клиент пробил квартальный бюджет – а наша система этого даже не заметила. B2B travel SaaS, конец 2016-го. Два руководителя финансового департамента одновременно открыли форму апрува, оба увидели один и тот же остаток, и каждый одобрил поездку, которая по отдельности в бюджет вписывалась. Вместе они пробили лимит. Узнали мы об этом из звонка клиента, не из алерта. Дальше – три вопроса про eventual consistency, которые стоит задать до архитектуры, а не на разборе инцидента.

https://habr.com/ru/articles/1042256/

#eventual_consistency #согласованность_данных #CQRS #оптимистичная_блокировка #EF_Core #проекции #saga #идемпотентность #распределённые_системы #read_model

Eventual Consistency: как мы починили тормоза апрува и сломали бюджет

Мы убрали одну блокировку, чтобы апрувы перестали тормозить. Через несколько недель из-за этого клиент пробил квартальный бюджет – а наша система этого даже не заметила. Полгода после MVP, первые...

Хабр
New blog post: My Work in Progress Ruby stack ismaelcelis.com/posts/2026-0... #eventsourcing #cqrs

My WIP Ruby stack
My WIP Ruby stack

A bunch of (mostly) Ruby side-projects, and how I hope they build into a comprehensive stack

Как мы укротили сложный процесс с помощью CQRS и стейт-машин

Привет, Хабр! Меня зовут Никита, я являюсь разработчиком в направлении SSL инфраструктурной команды биллинга в Timeweb Cloud. Сегодня я хочу рассказать, как мы наводили порядок в коде одного из наших микросервисов, почему отказались от лапши в контроллерах, и главное — почему мы решили выложить наш внутренний архитектурный фреймворк в Open Source. Если вы пишете на Python и хоть раз сталкивались с болью распределенных транзакций, отваливающихся внешних API и проблемой dual-write (двойной записи) — присаживайтесь поудобнее. Речь пойдет про наш open-source фреймворк python-cqrs (он же доступен на PyPI).

https://habr.com/ru/companies/timeweb/articles/1037700/

#cqrs #ddd #python #фреймворки #acid #open_source #api #timeweb_статьи

Как мы укротили сложный процесс с помощью CQRS и стейт-машин

Привет, Хабр! Меня зовут Никита, я являюсь разработчиком в направлении SSL инфраструктурной команды биллинга в Timeweb Cloud. Сегодня я хочу рассказать, как мы наводили порядок в коде одного из наших...

Хабр
I have been iterating on Event Sourcing and CQRS architectures for nearly a decade. When I first started with this pattern around 2016 and 2017, the implementation was considerably more complex. Over the years I have stripped it back again and again, and what I have arrived at now is something I'm genuinely happy with: a small, focused TypeScript library backed by DynamoDB that does exactly what it needs to and nothing more: https://coderbyheart.com/es-and-cqrs-on-aws-simplified #eventsourcing #cqrs #aws

Explorations techniques (suite)

#localfirst

- Comment synchroniser mes données locales entre plusieurs machines ? avec un serveur ?
- #eventsourcing et #CQRS ?
- #crdt (@inkandswitch.com ) pour la collaboration ? Est-ce qu'il faut de la collaboration ?

Your customer received €50. The notification on their phone says "New balance: €100." Should be €150 — the notification queried the read model before the projection committed.

That race lives in most CQRS systems. Wrote up how to close it for good in PHP — by emitting derived events from inside the projection.

https://blog.ecotone.tech/stop-subscribing-to-domain-events

#PHP #EventSourcing #CQRS #Ecotone

Stop Subscribing to Domain Events

The notification fires before the projection commits. The user sees a stale balance. Emitting derived events from inside the projection — as the read model — closes the race for good.

Ecotone Blog — PHP Messaging, DDD & Event Sourcing

Migrating CitySim from Class Hierarchy Sim to ECS Sim

Converting the #wolverine #cqrs class hierarchy simulation code where each entity is responsible for its own simulation to an #ECS based simulation using #Arch
#iloggable #blog
#gamedev
https://claassen.net/geek/blog/2026/05/migrating-citysim-from-class-hierarchy-sim-to-ecs-sim.html

Migrating CitySim from Class Hierarchy Sim to ECS Sim - claassen.net

Converting the #wolverine #cqrs class hierarchy simulation code where each entity is responsible for its own simulation to an #ECS based simulation using #Arch