#Application Overview We will be building a simple e-commerce application where customers can order products. Our application contains the following services: Product Service Order Service Inventory Service Notification Service
To focus on the principles of Spring Cloud and Microservices, we developed services with essential functionality rather than creating fully-featured e-commerce services.
- Developed RESTful services using Spring Boot 3, following best practices.
- Implemented synchronous communication using Spring Cloud OpenFeign.
- Integrated Spring Cloud Netflix Eureka for dynamic service registration and discovery.
- Configured Spring Cloud Gateway for centralized request routing and security.
- Implemented Keycloak for authentication, authorization, and identity management.
- Used Resilience4J for circuit breaking, ensuring high availability.
- Leveraged Kafka for asynchronous communication and event processing.
- Distributed Tracing using OpenTelemetry & Grafana Tempo.
- Log Aggregation with Grafana Loki.
- Metrics Collection & Visualization via Prometheus & Grafana dashboards.
- Docker for containerizing services.
- Docker Compose for managing multi-container applications.
- Kubernetes migration for scalability, orchestration, and high availability.
- Java 17+
- Docker & Docker Compose
- Kubernetes & kubectl (for K8s deployment)
- Kafka (for event-driven architecture)
- Keycloak (for authentication)
- Clone the Repository
git clone https://github.com/your-repo/microservices-architecture.git cd microservices-architecture