HTTP/REST: синхронный и простой способ с широкой поддержкой gRPC: высокопроизводительный бинарный протокол для быстрых вызовов Message Broker (RabbitMQ, Kafka): асинхронный обмен через очереди, повышающий устойчивость…
Как остановить несколько воркеров с помощью общего контекста? многопоточность и управление жизненным циклом создать единый контекст отмены (например, context.WithCancel в Go) передать этот контекст всем воркерам…
Распределённые системы, микросервисы Для поддержания согласованности применяются паттерны Event Sourcing и CQRS Применение асинхронного взаимодействия на основе событий (event-driven architecture) Использование…
Как документировать API микросервисов с помощью Swagger/OpenAPI? — стандарт OpenAPI для описания REST API в формате YAML/JSON — интерактивная документация, создаваемая автоматически (Swagger UI) — валидация API и…
CI/CD автоматизирует сборку, тестирование и доставку приложения настроить Git и определить триггеры запуска pipeline подключить CI-сервер: Jenkins, GitLab CI или GitHub Actions запускать сборку и юнит-тесты…
Обработка исключений в микросервисной архитектуре микросервисы — автономные сервисы с изолированной бизнес-логикой централизованный сбор и логирование ошибок, например с помощью ELK или Prometheus обработка на уровне…
Таймауты и ретраи во взаимодействии микросервисов сетевые запросы выполняются с ограниченным временем ожидания таймауты не позволяют запросам зависать надолго экспоненциальная задержка между ретраями уменьшает…
Правила оформления баг-репортов Контекст: баг-репорт — это документ, предназначенный для учёта и отслеживания ошибок в ПО Кратко и однозначно описать проблему (что именно не работает) Привести шаги воспроизведения…
Правила оформления тест-кейсов однозначная и понятная структура (ID, название, описание, шаги, ожидаемый результат) понятные и конкретные формулировки для каждого шага единый формат и согласованная терминология…
Как сопоставлять доменные ошибки с HTTP-кодами? Доменная ошибка описывает бизнес-логику, а HTTP-код относится к протоколу 400 (Bad Request): ошибки валидации и некорректные входные параметры 404 (Not Found):…
Как SOLID и Dependency Inversion применяются в микросервисной архитектуре SOLID — это набор принципов чистого кода и архитектуры, первоначально разработанный для ООП. Dependency Inversion (DIP) предполагает…