Spring Cloud
Suite of tools for building distributed Spring Boot microservice systems. Spring Cloud provides: service discovery (Eureka, Consul, Zookeeper), API gateway (Spring Cloud Gateway replacing Zuul), distributed configuration (Spring Cloud Config), client-side load balancing (Spring Cloud LoadBalancer), declarative HTTP clients (OpenFeign), circuit breakers (Resilience4j via Spring Cloud Circuit Breaker), distributed tracing (Micrometer Tracing + Zipkin/Jaeger), and messaging (Spring Cloud Stream for Kafka/RabbitMQ). The umbrella project that adds cloud-native patterns on top of Spring Boot.
Score Breakdown
⚙ Agent Friendliness
🔒 Security
Spring Cloud Gateway supports JWT token relay and OAuth2. Config Server can integrate with HashiCorp Vault for secret management. Service-to-service mTLS via Spring Cloud TLS. Eureka should be behind network controls — no public exposure.
⚡ Reliability
Best When
You're building a Spring Boot microservice architecture on VMs or bare-metal where Kubernetes isn't available — Spring Cloud provides the service mesh features you'd otherwise get from K8s.
Avoid When
You're deploying to Kubernetes (it handles service discovery and config), you're building a single-service app, or you're not using Spring Boot throughout your stack.
Use Cases
- • Build Java microservice agent platforms using Spring Cloud — service registry (Eureka), gateway routing, and config server for multi-agent service architectures
- • Implement circuit breakers for agent external API calls using Spring Cloud Circuit Breaker + Resilience4j — fallback logic when agent dependencies are unavailable
- • Create declarative HTTP clients for agent service-to-service calls using OpenFeign — @FeignClient annotations generate HTTP clients from interface definitions
- • Centralize agent service configuration using Spring Cloud Config Server — Git-backed or Vault-backed configuration management for agent fleet configuration changes without redeployment
- • Add distributed tracing to agent microservices using Micrometer Tracing — trace agent requests across multiple services with Zipkin or Jaeger visualization
Not For
- • Single-service Spring Boot apps — Spring Cloud adds significant complexity; don't use service discovery, config server, or gateway for monolithic agent apps
- • Kubernetes-native deployments — Kubernetes provides service discovery, config management (ConfigMaps), and load balancing natively; Spring Cloud features overlap with K8s; use Spring Cloud Kubernetes for integration instead
- • Non-Spring Java stacks — Quarkus uses Quarkus extensions (SmallRye OpenAPI, Stork), Micronaut has its own cloud integration; Spring Cloud is Spring-specific
Interface
Authentication
Spring Cloud Gateway integrates with Spring Security for OAuth2/JWT token relay. Config Server secured via Spring Security basic auth or OAuth2. Service-to-service auth via mutual TLS or token propagation.
Pricing
Spring Cloud is Apache 2.0 licensed, maintained by the Spring team at Broadcom. Free for all use.
Agent Metadata
Known Gotchas
- ⚠ Spring Cloud release train versioning — Spring Cloud has its own version names (Leyton, Kilburn) that map to Spring Boot versions; mismatching Spring Boot and Spring Cloud versions causes bean wiring failures; always use the BOM
- ⚠ Eureka eventual consistency — Eureka's registry is eventually consistent; newly registered instances may not appear to all clients for 90s (3 heartbeat cycles); don't assume instant service discovery for newly deployed agent services
- ⚠ Config Server bootstrap vs application phase — Spring Cloud Config Server loads before application context in bootstrap phase; bootstrap.yml must contain spring.cloud.config.uri; missing config causes startup failure with cryptic error
- ⚠ OpenFeign timeout vs Ribbon timeout — OpenFeign uses its own timeout settings separate from Ribbon (deprecated) or Spring Cloud LoadBalancer; configure feign.client.config.default.connectTimeout/readTimeout; ignoring this causes 60s default timeouts
- ⚠ Spring Cloud Gateway filter ordering — GatewayFilter beans apply in ordered sequence; authentication filter must run before routing filters; incorrect filter ordering bypasses security or causes routing failures
- ⚠ Resilience4j state is JVM-local — circuit breaker state is per-instance; in multi-instance agent deployments, circuit opens independently per pod; centralized circuit breaker state requires external store like Redis
Alternatives
Full Evaluation Report
Detailed scoring breakdown, competitive positioning, security analysis, and improvement recommendations for Spring Cloud.
Scores are editorial opinions as of 2026-03-06.