Migration from monolith architecture to microservices
- Backend: Java 17, Spring Boot 3.x
- Messaging: RabbitMQ
- Search: Elasticsearch
- Deployment: Kubernetes (K8s)
- CI/CD: GitHub Actions
- Observability: OpenTelemetry, Grafana, Prometheus, Tempo, Loki
- Cache: Redis
- Service Discovery: Eureka
- JDK 17 or higher
- Maven
- Docker & Docker Compose
mvn clean package -DskipTests- Set execute permissions for the installation script:
chmod +x install.sh- Start the Docker containers and install services:
docker-compose -f ./docker/docker-compose.yml -p docker up -d
./install.sh- Set execute permissions for the termination script:
chmod +x terminate.sh- Stop all services:
./terminate.shIf you prefer not to use Eureka for service discovery:
- Set the
EUREKA_ENABLEDenvironment variable tofalsein either:application.yamlfiles- Docker configuration files
EUREKA_ENABLED: false- Update service URLs in the
application.yamlfile of each service:- Locate
service:section - Replace with actual service endpoints
- Locate
We welcome contributions from the community! Here's how you can help:
- ⭐ Give us a star
- 🐛 Report bugs and issues
- 💬 Participate in discussions
- 🔧 Propose new features
- 📝 Submit pull requests
New to open source? Learn how to contribute through forking
This project is licensed under the MIT License - see the LICENSE file for details.