интеграция с помощью REST API: синхронный подход, удобный для вызовов и хорошо подходящий для сценария запрос-ответ браузеры и внешние клиенты преимущественно взаимодействовали через REST для асинхронного обмена и…
Как из сервиса вернуть доменную ошибку и отдать корректный HTTP-код? Контекст: обработка ошибок в backend-сервисах и API Для представления доменных ошибок применяю исключения (exceptions) либо error objects В…
Как обновлять захардкоженный список наград без передеплоя приложения? конфигурация через properties — файл входит в состав билда и связан с ним для внесения изменений требуется рестарт/деплой приложения внешний сервис…
Как выполнить «инверсию» зависимости между микросервисами? Сервис A обращается к сервису B напрямую, поэтому между ними возникает жесткая связь — tight coupling Инверсия зависимости достигается за счет асинхронного…
Обмен данными выполняется по асинхронному протоколу Для передачи используются очереди (queue) либо топики (publish-subscribe) Микросервисы отправляют сообщения в брокер и подписываются на нужные события Поддерживаются…
Как корректно настроить http.Server.Shutdown для воркеров и ресурсов Контекст: graceful shutdown HTTP-сервера в Go http.Server.Shutdown выполняет плавную остановку: прекращает приём новых соединений и ожидает…
** Для массового изменения одного поля в Entity Framework оптимальнее выполнить прямой SQL через ExecuteSqlRaw либо воспользоваться специализированными bulk-расширениями, обеспечивающими максимальную эффективность.
распределённая публично-подписная система потоковой обработки событий (event streaming) масштабирование выполняется за счёт партиционирования топиков каждый топик разделён на партиции, что обеспечивает параллельную…
распределённая архитектура, в которой сервисы работают независимо обмен данными по сети через HTTP/REST, gRPC или message brokers синхронное взаимодействие через REST/gRPC и асинхронное — через RabbitMQ, Kafka…
микросервисная архитектура представляет собой совокупность независимых сервисов каждый из них работает как отдельный процесс со своими зависимостями обновление становится проще: компоненты можно деплоить по частям, не…
Как выстраивается процесс тестирования: среды и виды проверок последовательность окружений: локальное → QA → stage → prod локальный стенд — разработка, быстрый feedback и запуск unit тестов QA — функциональные и…
Как при тестировании проверить, есть ли записи в БД через DBeaver? Для работы с базами данных использую универсальный клиент DBeaver. Сначала выполняю SQL-запрос: SELECT COUNT() FROM table WHERE условие Затем проверяю…