Skip to content
JavaAgentic

Type at least two characters. Try “RAG”, “pgvector” or “tool calling”.

Enterprise Backend · Phase 3

Microservices Architecture

The whole distributed-systems toolkit: decomposing by bounded context, discovery, gateways, resilience, sagas and the outbox pattern, tracing, containers, Kubernetes and service mesh.

Intermediate6 min read

Microservices Decomposition Patterns

Finding service boundaries that hold: decomposing by business capability and subdomain, context mapping patterns, the anti-corruption layer, and the strangler fig migration.

Read tutorial
Intermediate5 min read

Service Discovery & Registration

Client-side versus server-side discovery, running Eureka properly including self-preservation, Consul as an alternative, and why Kubernetes usually makes a separate registry unnecessary.

Read tutorial
Intermediate6 min read

API Gateway with Spring Cloud Gateway

Building an edge gateway: route predicates, the filter catalogue, custom global filters for auth and correlation, Redis rate limiting, and circuit breakers at the edge.

Read tutorial
Intermediate5 min read

Inter-Service Communication Patterns

Choosing how services talk: synchronous REST and gRPC versus asynchronous messaging, the coupling each creates, correlation propagation, and graceful degradation.

Read tutorial
Advanced5 min read

Circuit Breakers & Resilience4j

Resilience4j in production: how the circuit breaker state machine works, tuning the sliding window, combining retry and bulkhead correctly, and the decorator order that matters.

Read tutorial
Advanced5 min read

Distributed Tracing & Observability

Distributed tracing that actually helps: spans and trace context, W3C propagation across HTTP and messaging, sampling strategies, and correlating traces with logs and metrics.

Read tutorial
Advanced7 min read

Distributed Transactions & Saga Patterns

Why two-phase commit fails in microservices, choreography versus orchestration sagas, compensating transactions, the transactional outbox, and idempotent consumers.

Read tutorial
Advanced6 min read

Event-Driven Microservices

Designing events that last: domain versus integration events, Avro and schema registry compatibility, event sourcing basics, ordering guarantees and schema evolution.

Read tutorial
Advanced5 min read

Microservices Testing Strategies

A testing strategy for distributed systems: where the pyramid changes shape, consumer-driven contract testing, component tests with Testcontainers, and why end-to-end tests fail you.

Read tutorial
Intermediate5 min read

Containerizing Spring Boot with Docker

Building small, fast, secure Spring Boot images: multi-stage builds, BuildKit cache mounts, layered jars, JVM container awareness, distroless bases and vulnerability scanning.

Read tutorial
Advanced6 min read

Kubernetes for Java Microservices

Running Spring Boot on Kubernetes properly: liveness versus readiness probes, JVM memory inside cgroups, resource requests and limits, autoscaling, and zero-downtime rollouts.

Read tutorial
Advanced5 min read

Service Mesh with Istio

What a service mesh moves out of your application: automatic mTLS, VirtualService routing, outlier detection, authorization policies, fault injection and progressive delivery.

Read tutorial
Advanced6 min read

The Microservices Observability Stack

Assembling logs, metrics and traces into something usable: PromQL that answers real questions, the Grafana stack, golden signals, and alerts that mean something.

Read tutorial
Advanced5 min read

Microservices Security Patterns

Securing a distributed system: authentication at the edge, mTLS and workload identity between services, token propagation without over-trust, API keys and secret management.

Read tutorial
Intermediate5 min read

Spring Cloud Config & Centralised Configuration

Centralised configuration done safely: Config Server with a Git backend, client bootstrap and fail-fast, @RefreshScope, encrypted values, and when Kubernetes ConfigMaps are enough.

Read tutorial