This is the source code for a test application built for the purpose of my master's dissertation. This is one out of 3 different versions of the same application built for research purposes. This one features a microservices-based application with direct synchronous inter-service communication, other is also microservices-based but uses a message-driven approach (link), and the last one follows a monolithic approach (link).
A Docker Swarm cluster is used and it is composed of 4 stacks:
- Main application stack, composed of:
- Inventory Serivce
- Order Service
- Payment Service
- Product Service
- Payment Service
- Promotion Service
- Review Service
- Shopping-cart Service
- User Service
- API Gateway
- MySQL database
The main business services were built using Java and Spring Boot version 2.4.4
.
-
Monitoring stack
- Grafana
- cAdvisor
- Prometheus
- Node exporter
-
Logging & Tracing stack
- Elastic Search
- Logstash
- Kibana
- Zipkin
The next image represents an overview of the architecture of the main application stack, with the main business services.