Ecommerce Microservices Application in Kotlin
Microservices Architecture Design Patterns
In this project, I have implemented several design patterns commonly used in microservices architecture
Design Pattern
Tools
Description
Service Discovery
Spring Cloud Netflix
Service discovery automatically detects services for communication without relying on hardcoded addresses.
API Gateway
Spring Cloud Gateway
Single entry for managing, routing, and securing requests between clients and services.
Circuit Breaker
Resilience4j
Prevents cascading failures by stopping repeated requests to a failing service and allowing it to recover.
Distributed Messaging System
Apache Kafka
Asynchronous communication between services in microservices environment.
Transactional Outbox Pattern
Scheduler
Resolves the dual write problem by storing messages in an outbox table, ensuring consistency with business data.
Event Inbox Pattern
Inbox Database Table
Processes incoming events by storing them in an inbox table, ensuring idempotency and consistency.
Distributed Scheduler Locking
ShedLock
Ensures only one instance of a scheduled task runs across multiple parallel application instances.
I have implemented below security testing automation pipelines
Kubernetes Architecture Diagram
Kubernetes Architecture Components
Kubernetes Objects
Manifests
Deployment
order-service-deploy - manifest inventory-service-deploy - manifest notification-service-deploy - manifest api-gateway-deploy - manifest
Service
order-service-svc - manifest inventory-service-svc - manifest notification-service-svc - manifest api-gateway-svc - manifest
Database Deployment
order-service-db-deploy - manifest inventory-service-db-deploy - manifest notification-service-db-deploy - manifest
Database Service
order-service-db-svc - manifest inventory-service-db-svc - manifest notification-service-db-svc - manifest
Persistent Volume
order-service-pv - manifest inventory-service-pv - manifest notification-service-pv - manifest
Persistent Volume Claim
order-service-pvc - manifest inventory-service-pvc - manifest notification-service-pvc - manifest
Network Policy
order-service-db-np - manifest inventory-service-db-np - manifest notification-service-db-np - manifest
Config Map
configs - manifest
Secret
db-secrets - manifest
Docker Image
shaikrasheed99/order-service shaikrasheed99/inventory-service shaikrasheed99/notification-service shaikrasheed99/api-gateway