Skip to content

Repository files navigation

Microservices

Микросервисное приложение для управления пользователями, построенное на основе Spring Boot и Spring Cloud.

Архитектура

В проекте используются следующие сервисы:

  1. API Gateway — единая точка входа в приложение, порт 8080.
  2. User Service — управление пользователями, порт 8081.
  3. Notification Service — отправка email-уведомлений, порт 8082.
  4. Discovery Server (Eureka) — регистрация и обнаружение сервисов, порт 8761.
  5. Config Server — централизованное хранение конфигурации, порт 8888.
  6. Kafka — передача событий между сервисами, порт 9092.
  7. PostgreSQL — хранение данных пользователей, порт 5432.

Как работает приложение

  1. Клиент отправляет HTTP-запрос в API Gateway.
  2. API Gateway через Eureka находит нужный сервис и передаёт ему запрос.
  3. Eureka выполняет регистрацию и обнаружение сервисов.
  4. Запрос передаётся в User Service.
  5. User Service работает с данными пользователей в PostgreSQL.
  6. API возвращает данные пользователей с использованием HATEOAS — в ответе содержатся ссылки на доступные действия с ресурсом.
  7. При создании пользователя User Service отправляет событие в Kafka.
  8. Notification Service получает событие из Kafka.
  9. Notification Service отправляет email пользователю.
  10. Конфигурация сервисов загружается из внешнего Git-репозитория через Config Server.

Запуск

Из корневой директории проекта выполнить:

docker compose up -d

Проверить состояние контейнеров:

docker compose ps

Все сервисы должны находиться в состоянии Up.

Где посмотреть

API Gateway

Основная точка входа в приложение:

http://localhost:8080/users

Swagger

Документация REST API доступна через Swagger UI:

http://localhost:8081/swagger-ui.html

Eureka

Открыть в браузере:

http://localhost:8761

Здесь отображаются все зарегистрированные сервисы и их текущий статус.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages