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
Security Topic | Tools | Implemented Pipeline |
---|---|---|
Static Application Security Testing | OWASP dependency-check | Service Vulnerability Scanner |
Static Application Security Testing | Trivy Docker Image Scanner | Service Docker Image Scanner |
Static Application Security Testing | Kubescape | Kubernetes Security Scan |
Dynamic Application Security Testing | OWASP ZAP Scanner | Service DAST Scanner |
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 |