home.social

#cqrs — Public Fediverse posts

Live and recent posts from across the Fediverse tagged #cqrs, aggregated by home.social.

fetched live
  1. Как сделать приложение быстрым и надёжным с помощью межсервисных запросов

    Микросервисы обещают независимость и гибкость, но вместе с этим добавляют новый класс проблем: задержки между сервисами, каскадные сбои и сложность управления зависимостями. В статье разберём, какие подходы помогают выстроить устойчивое межсервисное взаимодействие — от агрегаторов и API Gateway до GraphQL и CQRS — и где у каждого решения есть свои ограничения.

    habr.com/ru/companies/otus/art

    #микросервисная_архитектура #межсервисное_взаимодействие #распределённые_системы #API_Gateway #агрегатор_данных #GraphQL #CQRS #отказоустойчивость #масштабирование_систем #паттерны_проектирования

  2. CQRS, async with retries and dead-lettering, event sourcing, projections, workflows. That feature list usually means a platform team.

    I built it as an e-commerce shop on Tempest + Ecotone. The entire messaging layer: about a dozen small classes of business logic. No worker command, no repository, no queue wiring.

    The Order aggregate IS the Tempest database model. One class, both frameworks.

    github.com/ecotoneframework/te

    #PHP #CQRS #EventSourcing

  3. CQRS, async with retries and dead-lettering, event sourcing, projections, workflows. That feature list usually means a platform team.

    I built it as an e-commerce shop on Tempest + Ecotone. The entire messaging layer: about a dozen small classes of business logic. No worker command, no repository, no queue wiring.

    The Order aggregate IS the Tempest database model. One class, both frameworks.

    github.com/ecotoneframework/te

    #PHP #CQRS #EventSourcing

  4. Как я php фреймворк писал

    В качестве вступления небольшой дисклеймер. Ниже длиннопост про самописный PHP-фреймворк, с примерами кода и его описанием. Автор не интерпрайз-разработчик, по образованию я юрист, а программирование для меня просто хобби, то, что меня занимает. Повествование идет о том, как я собирал свою систему исходя из своего представления о прекрасном и к чему в итоге пришел. Большинству писать свой фреймворк не нужно от слова совсем. Берете Symfony, Laravel, Spiral, [ваш любимый фреймворк], нужный набор библиотек и решаете продуктовую задачу. Это разумный путь. Зачем тогда этим занялся я? Если кратко, то потому что могу и хочу, если не очень кратко, то мне было интересно написать свой PSR-совместимый фреймворк. Все началось еще в середине десятых. На тот момент недавно вышел PHP 5.6, приняли PSR-7, позже появился PSR-15, и сборка своего велосипеда на этих новомодных абстракциях, с middleware-пайплайном, показалась мне весьма полезным и увлекательным предприятием. За основу было решено взять nyholm/psr7 , PHP-DI , для отправки ответа прикрутил laminas/httphandlerrunner , конфигурация была написана с оглядкой на тот же laminas, а middleware-пайплайн, фабрика для них, мапшрутизация, app-интеграция, провайдер аутентификации, экспорт конфигурации (в том числе экспорт замыканий) и skeleton-пакет были написаны с нуля. На это ушло примерно два или три года, и где-то к 2020 была собрана первая рабочая версия. Потом я то забрасывал проект, то возвращался к нему вновь, то переписывал куски полностью. В 2025 году решил в очередной раз переделать все. Реализовать это устремление сильно помогло развитие кодинг-агентов. Сначала Claude Code, позже Codex. Большой объем кодовой базы был переписан или написан полностью с нуля. Если после прочтения последнего предложения ты, дорогой читатель, почувствовал как свербит седалищный нерв, то не торопись писать свое фи или закрывать статью. Текст ниже не о вайб-кодинге и не о том, как можно легко и круто вкатиться в разработку не хуже интерпрайз-уровня, не имея никакой экспертизы в вопросе. Кодинг-агенты хорошо решают задачу по написанию бойлерплейта, хотя, будем честны, многие другие задачи они тоже решают на достойном уровне. В моем случае я занимался проектированием интерфейсов, архитектурой, написанием промптов, ревью и вычиткой README, а машина писала код, README, тесты, наводила на нужные мысли, предлагала, где можно посмотреть решения.

    habr.com/ru/articles/1050456/

    #php #framework #psr7 #psr15 #cqrs

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

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

    habr.com/ru/articles/1044352/

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

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

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

    habr.com/ru/articles/1044218/

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

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

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

    habr.com/ru/articles/1042256/

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

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

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

    habr.com/ru/companies/timeweb/

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

  9. 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: coderbyheart.com/es-and-cqrs-o #eventsourcing #cqrs #aws

  10. 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: coderbyheart.com/es-and-cqrs-o #eventsourcing #cqrs #aws

  11. CW: Détails techniques 9/9

    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 ?

  12. CW: Détails techniques 9/9

    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 ?

  13. 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.

    blog.ecotone.tech/stop-subscri

    #PHP #EventSourcing #CQRS #Ecotone

  14. 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.

    blog.ecotone.tech/stop-subscri

    #PHP #EventSourcing #CQRS #Ecotone

  15. Асинхронная архитектура на CQRS: гайд по внедрению в 2026 году

    Монолит тормозит, бизнес требует новых отчётов, а каждая правка ломает всё вокруг? Знакомо! В этой статье рассматриваются примеры внедрения CQRS и Event Sourcing. разбираются практики разделения команд и запросов, построение асинхронной архитектуры на Kafka. Под катом — код, Mermaid-схемы и best practices, которые реально работают.

    habr.com/ru/companies/otus/art

    #ddd #CQRS #DomainDriven_Design #Event_Sourcing #асинхронная_архитектура #микросервисы #Java #Apache_Kafka

  16. Next week I will speak at BASTA! Conference in Frankfurt, about #SoftwareArchitecture, #CSharp, #LLM use in #CQRS and #EventSourcing systems, and much else. 🌎 Bring your thinking hat for my #BASTAllionaire game show 🎉! Say hello if you see me, or come talk about #DevExpress. 🚀 basta.net/frankfurt/

  17. Next week I will speak at BASTA! Conference in Frankfurt, about #SoftwareArchitecture, #CSharp, #LLM use in #CQRS and #EventSourcing systems, and much else. 🌎 Bring your thinking hat for my #BASTAllionaire game show 🎉! Say hello if you see me, or come talk about #DevExpress. 🚀 basta.net/frankfurt/

  18. 🚀 Unlock Enterprise-Grade Software Architecture! 🚀

    Tired of legacy code chaos? With 20+ years mastering .NET, DDD, CQRS, microservices & TDD, I craft scalable, maintainable systems that drive business wins. From authoring functional C# libraries with 49k+ NuGet downloads to architecting scalable enterprise systems.

    Ready to level up? Book a Calendly session!

    Dive into insights on my blog.

    #SoftwareArchitecture #DotNet #DDD #CQRS #Microservices #Consulting #TechLeadership

  19. Urich: DDD и CQRS для микросервисов на Starlette без ручной раскладки роутов

    Когда строим бэкенд по DDD и CQRS, роуты и OpenAPI обычно собираем вручную. Urich делает иначе: описываешь ограниченный контекст одним объектом — маршруты и документация появляются сами. Обзор фреймворка на Starlette и примеры кода.

    habr.com/ru/articles/1002994/

    #python_3 #starlette #ddd #cqrs #микросервисы

  20. Wenn du anfängst, dich intensiver mit Softwaredesign zu beschäftigen, stolperst du relativ früh über Prinzipien mit großen Namen. Eins davon ist Command–Query Separation, kurz CQS. Klingt erstmal theoretisch, ist aber im Alltag extrem praktisch - gerade dann, wenn dein Code langsam größer w

    magicmarcy.de/command–query-se

    #Command #Query #Separation #CQRS #Trennung #Programming

  21. Wenn du anfängst, dich intensiver mit Softwaredesign zu beschäftigen, stolperst du relativ früh über Prinzipien mit großen Namen. Eins davon ist Command–Query Separation, kurz CQS. Klingt erstmal theoretisch, ist aber im Alltag extrem praktisch - gerade dann, wenn dein Code langsam größer w

    magicmarcy.de/command–query-se

    #Command #Query #Separation #CQRS #Trennung #Programming

  22. ADR, архитектурные тесты и кейсы из прода: ресурсы, которые реально меняют код

    У меня была привычка. Вижу классную статью про архитектуру —-сохраняю. Репозиторий с примерами DDD - в закладки. Видео про CQRS - в плейлист «Посмотреть потом». Вы знаете, чем кончаются плейлисты «Посмотреть потом». В какой-то момент закладок стало 300+. Половина ссылок битые, треть дублируют друг друга, остальное - статьи, которые казались гениальными в два часа ночи. Я сел и вычистил всё до 106 ресурсов. Собрал их в awesome-list на GitHub . Но статья не про список. Статья про три вещи, которые я для себя открыл в процессе и которые почему-то мало обсуждают.

    habr.com/ru/articles/1001010/

    #architecture #DDD #CQRS #clean_architecture #ADR #software_design #software_architecture #best_practices #system_design #microservices

  23. En sistemas complejos, usar el mismo modelo para leer y escribir es como usar un martillo para todo. CQRS te enseña a elegir la herramienta correcta. 🔧

    #CQRS #ArquitecturaDeSoftware #IngenieríaDeSoftware #Microservicios #DesarrolloWeb

  24. 🔄 Event sourcing almacena cada cambio como un evento inmutable. Permite auditoría total y reconstruir estados pasados de tu sistema. ¡Transforma tu arquitectura! 💡

    Lee más 👉 soloingenieria.org/ingenieria-

    #EventSourcing #IngenieríaDeSoftware #CQRS #Microservicios #ArquitecturaDeSoftware

  25. 🔄 En software, el estado actual es solo una foto. Event sourcing te da toda la película. Cada evento cuenta una historia que puedes reproducir cuando quieras.

    #EventSourcing #IngenieríaDeSoftware #CQRS #Microservicios #ArquitecturaDeSoftware

  26. I've developed #Ecotone Framework based on the principle that we should fully focus on business features, not the technical infrastructure part.

    However, in some cases where optimization of requests is critical, auto-initialization may come with a performance penalty.

    For this #Ecotone provides now migrations, that can help optimize this process:

    docs.ecotone.tech/modelling/mi

    #PHP #Messaging #CQRS #EventSourcing #DDD #SoftwareArchitecture

  27. I've developed #Ecotone Framework based on the principle that we should fully focus on business features, not the technical infrastructure part.

    However, in some cases where optimization of requests is critical, auto-initialization may come with a performance penalty.

    For this #Ecotone provides now migrations, that can help optimize this process:

    docs.ecotone.tech/modelling/mi

    #PHP #Messaging #CQRS #EventSourcing #DDD #SoftwareArchitecture

  28. I broke down Event Sourcing in Quarkus using Java records, sealed types, pure functions, and a clean CQRS split.

    Fully hands-on. No magic. Just data, folds, and clear architecture.
    If you want to understand event sourcing without the hype, this one is for you.

    👉 the-main-thread.com/p/event-so

    #Java #Quarkus #EventSourcing #CQRS #DataOrientedDesign

  29. I broke down Event Sourcing in Quarkus using Java records, sealed types, pure functions, and a clean CQRS split.

    Fully hands-on. No magic. Just data, folds, and clear architecture.
    If you want to understand event sourcing without the hype, this one is for you.

    👉 the-main-thread.com/p/event-so

    #Java #Quarkus #EventSourcing #CQRS #DataOrientedDesign

  30. CQRS на практике: как проектировать системы, которые не ломаются под нагрузкой

    Привет, Хабр! Я сегодня хочу разобрать одну из самых мощных, но часто неправильно понимаемых архитектурных концепций — CQRS. Если вы уже переросли уровень «просто писать CRUD» и задумываетесь о том, как строить системы, которые будут масштабироваться и оставаться производительными — эта статья для вас.

    habr.com/ru/articles/979062/

    #Java #Spring #cqrs #systemdesign #backend

  31. Requestum 1.2.5: теги, политики устойчивости и встроенное логирование

    Привет, Хабр! Около месяца назад я рассказывал о Requestum — CQRS-библиотеке для .NET, созданной как бесплатная альтернатива MediatR. После той публикации в комментариях многие справедливо спрашивали: «Зачем нужна ещё одна CQRS-библиотека? Есть же Mediator, Wolverine, Brighter и другие проверенные решения. Чем твоя альтернатива лучше?» Честный ответ на тот момент был: «Пока, наверное, ничем особенным — разве что MIT лицензией и чуть лучшей производительностью» . Но за этот месяц я постарался это исправить. Этот пост — мой ответ на те вопросы и рассказ о фичах, которые делают Requestum достойным внимания, а не просто «ещё одной библиотекой в списке».

    habr.com/ru/articles/974616/

    #net #cqrs #open_source #mediatr #c# #requestum #архитектура_по

  32. Предметно-ориентированное проектирование в современной разработке программного обеспечения

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

    #DST #DSTGlobal #ДСТ #ДСТГлобал #программноеобеспечение #проектирование #DDD #фреймворки #Современныетехнологии #CQRS #микросервисы

    Источник: dstglobal.ru/club/1129-predmet

  33. 🚀 Ah, the elusive trio of Event Sourcing, #CQRS, and Microservices! 😲 Our hero bravely chronicles his #FinTech exploits, convinced he's found the Holy Grail of #architecture. Spoiler alert: somewhere, a server farm weeps. 💾🔧
    lukasniessen.medium.com/this-i #EventSourcing #Microservices #ServerFarm #HackerNews #ngated