Обязанности и достижения:
Разработка микросервисной архитектуры:
Организовала взаимодействие между сервисами с помощью Feign Client, реализовала BFF-слой. Настроила оркестрацию процессов через Camunda и реализовала обмен событиями между микросервисами по каналам Kafka и RabbitMQ, объединив консюмеры в группы для параллельной обработки данных.
API и контракты:
Создала спецификацию OpenAPI для формализации REST-контрактов. Для файлового хранилища интегрировала сервис на базе MinIO.
Безопасность и авторизация:
Внедрила Spring Security и Keycloak, реализовала возможность авторизации через социальные сети. Обеспечила межсервисную аутентификацию посредством интеграции OpenFeign с OAuth2 через RequestInterceptor, а также проработала процессы получения токенов и необходимой информации из внешних API с учётом специфики сторонних систем. Настроила кэширование токенов с ограничением времени жизни для увеличения производительности и минимизации обращений к внешним провайдерам.
Обработка данных и отказоустойчивость:
Добавила идемпотентные методы для предотвращения повторной обработки запросов. Централизовала обработку ошибок с использованием Controller Handler и Exception Handlers для корректного отображения и описания исключений.
Работа с базой данных:
Организовала миграции и нормализацию структуры с помощью Liquibase, внедрила резервное копирование PostgreSQL (pg_dump) для надежного восстановления. Для взаимодействия с данными применила как нативные SQL, так и HQL-запросы, реализовала фильтрацию, пагинацию и безопасное выполнение удаления.
Производительность и интеграции:
Реализовала асинхронное взаимодействие с внешними сервисами и агрегацию результатов используя CompletableFuture.
DevOps и инфраструктура:
Настроила Dockerfile и docker-compose для развёртывания приложения, а также организовала CI/CD в GitLab для автоматизации процессов сборки, тестирования и деплоя.
Тестирование:
Реализовала интеграционные (Spring Boot Test) и модульные (Mockito) тесты.