RU

Дело о зависшем пуле: @Transactional, connection leak и deadlock в Spring Boot. Production-нуар

Приложение было живо. Health check зелёный, CPU холодный, логи чистые. Но ни один запрос не возвращался. Детективная история о том, как пять соединени…

spring-boottransactionalhikaricpconnection-pooldeadlockpostgresqlтранзакцииself-invocationopen-session-in-viewмикросервисы
Habr
RU

Contract testing на Pact в 2026: как перестать чинить интеграции по факту падения

В статье разберём, как Pact закрывает этот разрыв между модульными и E2E‑тестами, как устроены consumer‑driven контракты, Pact Broker и…

контрактное тестированиеPactconsumer-driven contractsтестирование APIмикросервисыPact Brokerинтеграционные тестысовместимость сервисовcan-i-deploy
Habr
RU

Технический долг — это не только legacy: как мы уменьшаем разброс решений между Go-сервисами

Когда компания растёт из одного продуктового направления в несколько, технический долг начинает выглядеть иначе. Проблема уже не в «старом коде», уста…

golangмикросервисытехнический долгархитектурарефакторингстандартизацияшаблонизацияуправление зависимостямибэкендrenovatebot
Habr
RU

gRPC в мире PHP: пошаговый гайд по сборке микросервиса на Symfony 8 и RoadRunner

Переход к микросервисной архитектуре неизбежно поднимает вопрос эффективности межсервисного взаимодействия. В PHP традиционный стек на базе PHP-FPM и …

phpвеб-разработапрограммированиемикросервисыapiвысокая производительностьsymfony
Habr
RU

Распределённый монолит: как одну проблему превратить в целый кластер проблем

Здравствуйте, уважаемые читатели. Вот и настал тот день, когда мы поняли, что наш замечательный проект стал сложным. Спустя три года разработки его по…

архитектурамикросервисыddd
Habr
RU

Как мы переносили интеграции с монолита на микросервис

В этой статье я делюсь нашим опытом переноса интеграций с монолита на микросервис: какие решения мы принимали и на что обращали внимание. Статья будет…

монолитмикросервисымикросервисмикросервисная архитектурамикросервисное взаимодействиемикросервисы и базы данных
Habr
RU

Интеграция с сервисом рассылок: RabbitMQ, вебхуки и CRON

В этой статье я делюсь практическим опытом проектирования интеграционного решения для CRM-системы. Статья будет полезна системным аналитикам и разрабо…

rabbitmqмикросервисывебхукиcroncrm-системыcrm-системаcrm системаcrmинтеграцияинтеграция сервисов
Habr
RU

Как желание написать простой CRUD привело к созданию целой видеоплатформы

От CRUD на FastAPI до видеоплатформы: история одного pet-проекта: История о том, как учебный CRUD-проект на FastAPI постепенно превратился в стенд с м…

fastapidevopskubernetesdockerpostgresqlrabbitmqredisмикросервисыgitlab ciмониторинг
Habr
RU

Как сделать MCP-сервер из Spring-сервиса за один вечер. И что потом не даст спать спокойно

AI‑агенту не нужен прямой доступ к базе, чтобы отвечать на вопросы оператора или вызывать действия в системе. Достаточно дать…

MCPSpring AIJavaSpring BootAI-агентыLLM-интеграциимикросервисыбезопасность LLMprompt injectionархитектура ИИ-приложений
Habr
RU

Как мы строили интеграцию с сервисом рассылок: RabbitMQ, вебхуки и CRON

В статье описан практический опыт интеграции CRM-системы с внешним сервисом рассылок (SMS и email). Как мы строили микросервис-посредник, зачем исполь…

rabbitmqмикросервисымикросервисная архитектураrestapiвебхуки
Habr
RU

Модульная архитектура против хаоса: как ограничить контексты в большом монолите

При большом масштабе компании требования к стабильности и скорости разработки становятся критичными. Долгое время бэкенд платформы Flowwow оставался м…

архитектурамодульный монолитрефакторингonion architectureyiiконтекстымикросервисыстатический анализатор кодауправление зависимостямипроцессы разработки
Habr
RU

Книга: «Безопасность контейнеров. Фундаментальный подход к защите контейнеризированных приложений. 2-е изд.»

Привет, Хаброжители! Контейнеризированные и облачные приложения постепенно становятся базой современной программной инфраструктуры. Глубокое концептуа…

Контейнерывиртуализациябезопасностькибербезопасностьмикросервисыкниги по программированиюкнига
Habr
RU

Spec-driven development в микросервисах, часть 3: archspec investigate — исследование фичи до кода

Третья, заключительная статья из цикла. Часть 1 — где LLM теряет межсервисный контекст и почему локальных спек недостаточно. Часть 2 — archspec как ко…

spec-driven developmentai-assisted developmentclaude codellmмикросервисыархитектура микросервисовservice contractsoutbox patternидемпотентностьcode review ai
Habr
RU

Топ-10 вопросов на собеседовании по FastAPI

FastAPI окончательно закрепился в стеке Python-разработчиков, а значит, на собеседованиях вас точно будут гонять по корутинам, Pydantic и Dependency I…

fastapipythonсобеседование pythonвопросы на собеседованииpydanticасинхронностьbackendмикросервисыбэкендподготовка к собеседованию
Habr
RU

C4 для системного аналитика: как навести порядок в микросервисном хаосе

Когда вокруг десяток микросервисов, документация устарела, а на согласование архитектурного решения есть два дня, обсуждение быстро пог…

C4-модельсистемный аналитикмикросервисыархитектура как кодCache-AsideStructurizrsequence-диаграмма
Habr
RU

Проектировал электрощит на 108 модулей и понял: современный IT – это скрутка с синей изолентой

Я выпал из IT на месяц. Причина банальна, но сурова – капитальный ремонт. По квартире проложено пара километров кабеля, из них 600 метров витой пары д…

архитектурамикросервисыумный домwiren boardнадёжностьэлектрика
Habr
RU

62 бесплатных урока июня: Java, Docker, LLM, SRE, DWH и другие темы для роста в IT

Карьерный рост в IT редко упирается только в «выучить еще один инструмент». Чаще проблема в другом: понять, какие технологии уже стали рабочей практик…

DockerKubernetesLLMJavakafkadevopsмикросервисыбесплатные урокипрофессиональное развитиеSRE
Habr
RU

Backstage — управление микросервисным ландшафтом без хаоса

Представьте: сотни микросервисов, неделя на поиски API, устаревшая документация. Backstage от Spotify превращает хаос в порядок — и возвращает контрол…

backstagespotifycncfпортал разработчикамикросервисыстандартизация разработкиинфраструктураctoинженерная культурамасштабирование
Habr
RU

Как избежать 7 критических ошибок при переходе на микросервисы

Микросервисы обещают масштабирование и независимость команд, но чаще ломают систему медленнее монолита. Почему? В статье разбираем семь архитектурных …

микросервисыархитектураbackenddistributed-systemsdesign-patternsjava-kotlinмасштабирование
Habr
RU

Гайд: как системному аналитику построить доменную модель для Java-микросервисов

Системный аналитик пишет User Story, рисует BPMN, описывает API — а через месяц архитектор перекраивает всё, потому что «это не ложится…

javaDDDсистемный аналитикevent stormingмикросервисыпроектирование системBounded Context
Habr
RU

C# мне нравится больше Java. Но в банковском enterprise мне всё равно понадобилась Java

C# я до сих пор считаю одним из самых удобных языков для backend разработки. В нём много вещей к которым быстро привыкаешь: свойства, LINQ, async/awai…

C#JavabackendenterpriseбанкиSpring Boot.NETмикросервисыимпортозамещениекарьера
Habr
RU

Spec-driven development в микросервисах, часть 2: как archspec делает контекст сервисов явным

В первой части я разбирал, почему spec-driven development начинает ошибаться, когда фича проходит через несколько микросервисов. Пробле…

spec-driven developmentai-assisted developmentclaude codellmai-агентымикросервисыархитектура микросервисовdocs as codeservice contractsoutbox pattern
Habr
RU

Сможете ли вы спроектировать Maven‑монорепозиторий для 5 микросервисов?

В этой статье мы разберём реальную задачу на проектирование Maven Multi‑Module: от циклических зависимостей и неправильного использован…

MavenмонорепозиториймикросервисыSpring Bootmulti-moduledependencyManagementMaven Wrapperархитектура сборкиJava
Habr
RU

Паттерн Backend for Frontend (BFF) в разработке современных приложений

Когда мы пытаемся в одном бэкенде совместить и строгую бизнес-логику, и все «рюшечки» для фронта — получается монстр Франкенштейна . Это потому, что с…

bffфронтендбэкендсинимекссистемный анализмикросервисы
Habr
RU

Баги, которые нас воспитали: инженерные истории с Go Loto

Каждый разработчик помнит тот самый момент, когда система, которая только что работала идеально, вдруг начинает вести себя так, будто сошла с ума. Ког…

gobloatvacuumмикросервисыраспределенные системынагрузочное тестированиеpostmortem
Habr
RU

От vSphere к VCD: как мы построили хранилище образов и нативный CSI для Kubernetes

Мы реализовали хранилище образов, чтобы пользователи могли структурировать их и более оперативно создавать виртуальные машины. И сегодня расскажем, с …

виртуализациявиртуальная машинаконтейнеризацияконтейнерымикросервисыkubernetesdbrainvspherevcdхранилище
Habr
RU

Очереди в микросервисах: 5 ошибок, которые приводят к дублям и потерям

Почему добавление второго consumer«а в очередь может привести к двойным списаниям? Разбираем на реальном кейсе: как один Topic сто…

очереди сообщениймикросервисыброкеры сообщенийRabbitMQKafkaJMSpublish-subscribecompeting consumersидемпотентностьDead Letter Queue
Habr