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
customerdirectory. - Fraud Service: Located in the
frauddirectory. - Eureka Server: Located in the
eureka-serverdirectory.
- Docker Compose:
docker-compose.ymlfor container orchestration. - Maven Build File:
pom.xmlfor 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 CreatedwithCustomerResponse
Retrieves customer details by ID.
- Path Variable:
id(long) - Response:
200 OKwithCustomerResponse
Checks if a customer is fraudulent.
- Path Variable:
customerId(long) - Response:
200 OKwithFraudCheckResponse
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
