This Ecommerce-Microservice project showcases a simple yet effective Spring Boot microservices architecture. It features Feign Client, WebClient, Centralized Config Management, Service Discovery, Input Validation, Distributed Tracing with Zipkin, Kafka Messaging, and an API Gateway for Routing and Load Balancing.
- Programming Language: Java
- Frameworks: Spring Boot
- Spring Web
- Spring Cloud (Eureka, Config Server, API Gateway)
- Spring Validation
- Tools:
- Feign Client and Web Client for inter-service communication
- Eureka Server for service discovery
- Spring Cloud Config Server for centralized configuration
- Zipkin for distributing tracing
- Apache Kafka
- Build Tool: Maven
- Database: (MySQL/MongoDB/PostgreSQL)
- Microservices:
- customer-Service
- product-service
- order-service
- payment-service
- notification-service
- Centralized Configuration Management:
- Config Server to manage configuration centrally.
- Service Discovery:
- Eureka Server to register and discover microservices.
- API Gateway:
- Routes requests to appropriate microservices and provides load balancing.
- Feign Client and Web Client:
- Simplifies inter-service communication.
- Input Validation:
- Starter Validation for validating inputs.
- Apache Kafka
- Asynchronous communication
- Zipkin and Postman
- Distributing tracing and testing api
├── api-gateway ├── config-server ├── customer-service ├── discovery-service ├── notification-service ├── order-service ├── payment-service ├── product-service
- JDK 21
- Maven
- IDE (IntelliJ IDEA, Eclipse, etc.)
- Postman or any API testing tool
- Eureka Dashboard: http://localhost:
- API Gateway: http://localhost:/
- Zipkin: http://localhost:
- Dockerization:
- Containerize the application using Docker and orchestrate with Docker Compose or Kubernetes.
- Spring security with jwt token
- OAuth2
- Name: Kishor Pandey
- Contact: [[email protected]]