Job App Microservice Platform
Demonstrated mastery of modern microservices patterns — fault tolerance, async messaging, and full observability — in a production-ready, container-orchestrated platform.
Business Context
Building a job platform that is resilient, independently deployable, and fully observable requires careful architectural decisions around service coupling, failure handling, and operational visibility.
The Solution
An event-driven, 6-service platform using Spring Boot 3, adhering to Hexagonal Architecture to isolate domain logic from infrastructure concerns.
- Decoupled async communication via RabbitMQ for domain events
- Synchronous inter-service calls with OpenFeign and Resilience4J circuit breakers
- Dynamic service discovery with Netflix Eureka
- Centralized configuration via Spring Cloud Config
- Distributed request tracing with Zipkin
Architecture Overview
Hexagonal Architecture isolates core domain logic from infrastructure adapters. The Spring Cloud Gateway acts as the single entry point, routing to services registered in Eureka. RabbitMQ decouples producers and consumers, while Zipkin provides end-to-end distributed tracing across all 6 services.
Tech Stack & Reasoning
| Technology | Why it was used |
|---|---|
| Spring Boot 3 | Enterprise-grade framework for building production-ready microservices. |
| RabbitMQ | Asynchronous domain event messaging to decouple services and improve resilience. |
| Keycloak | Centralized OAuth2/JWT identity provider for securing all service endpoints. |
| Kubernetes | Container orchestration for scalable, self-healing multi-stage deployments. |
| PostgreSQL | Reliable ACID-compliant relational database for each service's data store. |
| Resilience4j | Circuit breaker pattern to prevent cascading failures across services. |
Key Features
- 6 independently deployable Spring Boot microservices
- Asynchronous event publishing with RabbitMQ
- Circuit breaker fault tolerance with Resilience4j
- OAuth2 / JWT authentication via Keycloak
- Full distributed tracing with Zipkin
- PostgreSQL schema versioning via Flyway
Engineering Highlights
Adhered to Hexagonal Architecture to strictly isolate domain logic from infrastructure adapters for maximum testability.
Engineered a resilient API Gateway featuring Eureka dynamic service discovery and Resilience4J circuit breakers.
Implemented full-stack observability using centralized Spring Cloud Config and Zipkin distributed tracing.
Deployed via multi-stage Kubernetes containers ensuring zero-downtime rolling updates.
Challenges & Solutions
Cross-service communication failures could cascade and bring down the entire platform.
Implemented Resilience4j circuit breakers on all synchronous OpenFeign calls with fallback handlers.
Impact: Achieved fault isolation — individual service failures no longer propagate to consumers.
Performance Metrics
What I Learned
- •Designing domain boundaries to minimize coupling in microservices
- •Implementing circuit breakers and fallbacks for resilient inter-service communication
- •Orchestrating multi-service deployments with Kubernetes and Flyway migrations
System Interface

Want to see more projects?
Explore my other recent work to see a broader range of system architectures and full-stack solutions.
