Данный проект представляет собой бэкенд для приложения "Чат и блог", реализованного с использованием Spring Boot. Он включает в себя несколько микросервисов, каждый из которых отвечает за свою часть функционала (chat, post, user).
- Клонируйте репозиторий
- Каждый микросервис надо собрать в Docker image:
./mvnw spring-boot:build-image - Запустите все микросервисы с помощью Docker Compose:
docker-compose up
- Для авторизации используется Keycloak.
- Для работы с Keycloak предусмотрен user-service
- Для работы с постами предусмотрен post-service
- Для работы с чатом предусмотрен chat-service
- Для service discovery предусмотрен сервер Eureka (netflix eureka)
- Для API Gateway предусмотрен api-gateway (spring cloud gateway reactive)
- Для конфигурации сервисов предусмотрен config-service (spring cloud config)
- Spring Boot
- Spring Cloud
- Spring Security
- Spring Data JPA
- Spring WebSocket
- Spring MVC
- Docker
- PostgreSQL
- Keycloak
- Spring Cloud Gateway
- Spring Cloud Config
- Spring Cloud Eureka
- Spring Cloud Circuit Breaker (Resilience4j)
- Spring Cloud OpenFeign
- Spring OpenAPI
- Собрать все логи в один сервис (например, ELK stack)
- Добавить мониторинг (например, Prometheus + Grafana)
- В chat-service перейти с SimpleMessageBroker на RabbitMQ/Kafka
- Сделать фронтенд
- Продокументировать chat-service и user-service с помощью OpenAPI
- Развернуть все