Этапы движения задачи от разработки до релиза с позиции тестирования планирование тестирования одновременно с разработкой создание и запуск разработчиком юнит-тестов интеграционная проверка взаимодействия компонентов…
Что такое паттерн Outbox и зачем он нужен? архитектурный паттерн, который обеспечивает атомарность интеграций сохраняет события или сообщения в отдельной Outbox-таблице в рамках той же транзакции, что и…
Механизмы retry и circuit breaker retry повторно отправляет запрос после ошибки и особенно полезен при временных сбоях основные настройки: максимальное число попыток, интервал между ними и экспоненциальный бэкофф…
Три принципа ООП: инкапсуляция, наследование и полиморфизм ООП — это парадигма, в которой структура программы строится вокруг объектов Инкапсуляция: изоляция данных и обращение к ним через методы для защиты…
Интеграция с внешним API или сервисом Настроить повторные попытки (retry) с экспоненциальным увеличением интервала Задать тайм-ауты для запросов и обрабатывать возникающие ошибки При недоступности сервиса сохранять…
Интеграция third-party сервиса: от проектирования до релиза на этапе проектирования определить требования и границы ответственности определить протокол взаимодействия: REST API, Webhook, OAuth заранее спроектировать…
Архитектура переключения между сервисами аналитики Область: архитектура интеграций с аналитическими сервисами Применить адаптер или обертку (wrapper/facade) над сервисом Определить абстрактный интерфейс с базовыми…
Проверка взаимодействия микросервисов через брокер сообщений Kafka Интеграционные тесты: проверка передачи сообщений через тестовый брокер, например embedded Kafka Контрактные тесты: проверка соответствия сообщений…
Как проверять сервис, работающий с БД и внешними системами? Уровни тестирования: юнит-тесты, интеграционные тесты, e2e На уровне юнит-тестов использовать моки и стабы для внешних API и запросов к БД Проводить…
Тестирование интеграций с внешними системами применение mock/стабов для изоляции интеграции и управления ответами внешних API использование контрактных тестов для проверки соответствия API установленным спецификациям…
Spring DI — механизм внедрения зависимостей, работающий внутри IoC-контейнера Управлением объектами занимаются Bean Factory и ApplicationContext Компоненты автоматически создаются и связываются по типу или аннотациям…
Основные альтернативы REST API и их особенности GraphQL : клиент формирует запрос по схеме и получает только необходимые данные, что сокращает трафик и делает взаимодействие гибче gRPC : бинарный протокол с высокой…