TGViewer
devmark_ru devmark_ru @devmark_ru · 224 subscribers
Post #142 321
Представьте, что в один прекрасный день к вам пришёл заказчик и говорит: "в рамках импортозамещения мы должны отказаться от Jira и вместо неё разработать собственный инструмент для управления задачами". Конкретно вам поручено разработать небольшой сервис. Этот сервис оперирует статусами задач и подзадач, которые в неё входят.

Мы должны принять важное архитектурное решение. Можно конечно при смене статусов сабтасок ещё и обрабатывать статусы родительских тасок. И если они меняются, тут же ещё и встраивать логику по отправке email. Но это делает логику не расширяемой и сложной в поддержке. Если завтра появится ещё несколько статусов, мы получим спагетти-код.

Чтобы этого избежать, лучше сразу сделать компоненты системы менее связанными и обеспечить их взаимодействие через события. То есть если меняется статус сабтаски - мы генерим соответствующий эвент. Далее компонент обработки статуса получает это событие, выполняет проверку остальных сабтасок и при необходимости меняет статус родительской задачи.

При построении event-driven системы можно использовать разные брокеры сообщений, но мы рассмотрим наиболее популярный из них - RabbitMQ.

В тестовых целях "кролика" можно развернуть в один клик на платформе dockhost.ru

Подробности читайте на Хабре в моей новой статье RabbitMQ и Kotlin: делаем свою event-driven Jira на Spring.
  • 👍 5
  • 🔥 2
More from @devmark_ru
  1. Sep 7, 2026Новый этап автоматизации SDLC от Dockhost! Спустя 3 месяца после появления LLM инференса н…
  2. Jul 16, 2026OpenIDE представила свой клиент для базы данных! На днях вышла новая версия OpenIDE Pro, в…
  3. Jun 30, 2026Channel photo updated
  4. Jun 26, 2026"Товарищ Сталин, что вы курите?" В процессе "общения" с LLM вспомнился один старый номер и…
  5. Jun 15, 2026Вышел стабильный релиз Spring AI 2.0 Чуть больше года назад появился Spring AI версии 1.0,…
  6. May 29, 2026Ваш персональный ChatGPT от Dockhost Продолжаю серию постов про альтернативные LLM, которы…
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 →