This repository demonstrates the implementation of a microservices architecture using the Spring framework.
The repository contains the following main components:
- Customer Service: Located in the
customer
directory. - Fraud Service: Located in the
fraud
directory. - Eureka Server: Located in the
eureka-server
directory.
- Docker Compose:
docker-compose.yml
for container orchestration. - Maven Build File:
pom.xml
for managing dependencies.
- Service Discovery: Using Eureka Server for registering and discovering microservices.
- Docker: Containerization of services.
- Kubernetes: Deployment configurations for managing containerized applications.
- RabbitMQ: Messaging between services.
- PostgreSQL: Database for storing service data.
- Spring Security: Securing the microservices.
- Spring Boot: Framework for creating production-ready applications.
- Zipkin: Distributed tracing system for monitoring and troubleshooting.
- Spring Cloud: Tools for building cloud-native applications.
- Kafka: Messaging system for building real-time data pipelines and streaming apps.
- Spring Data JPA: Data access abstraction.
Creates a new customer.
- Request Body:
CustomerRequest
- Response:
201 Created
withCustomerResponse
Retrieves customer details by ID.
- Path Variable:
id
(long) - Response:
200 OK
withCustomerResponse
Checks if a customer is fraudulent.
- Path Variable:
customerId
(long) - Response:
200 OK
withFraudCheckResponse
The Eureka Server does not expose REST APIs for client interaction. It is used for service discovery within the microservices architecture.
- Clone the repository:
git clone https://github.com/ahmedrafat-SW/spring-microservices.git