Part 23 · Applications

Spring Cloud: select distributed capabilities

Prerequisites: 01-ecosystem

Which distributed responsibility needs a component?

Client: broker portal; Gateway: routing policies; Application service: domain use case; Insurer service: HTTP contract; Configuration source: operational settings. Connections: Client to Gateway (request); Gateway to Application service (route); Application service to Insurer service (bounded client call); Configuration source to Application service (configuration)
Illustrative deployment, not a mandatory Cloud stack. Compatibility is governed by the selected release train. [S43] [S44] [S45]

Goal & mental model verified

Cloud projects supply distributed patterns: Config, Gateway, discovery, LoadBalancer, Circuit Breaker, Stream, Function and Task. Release trains coordinate compatible dependencies with a BOM.

[S43] [S44]

Worked example · design exercise synthesis

A gateway routes broker requests; a service calls an insurer using an HTTP client. On Kubernetes, evaluate whether platform discovery/configuration already supplies the needed capability before adding another layer.

[S43] [S44] [S45]

Engineering decision synthesis

Use RestClient for blocking calls, WebClient for reactive composition, or HTTP Service Clients for declarative interfaces. OpenFeign remains feature-complete; maintainers recommend HTTP Service Clients for new evolution.

[S43] [S44] [S45]

Pitfall & diagnosis synthesis

Cloud abstractions do not remove network failures or distributed consistency problems. The old docs/current Cloud URL can expose an old train; match documentation to the actual version.

[S43] [S44] [S45]

Improve & validate synthesis

Map each component to one operational need. Verify Boot/Cloud compatibility and timeout behavior, then remove duplicate discovery, routing or configuration responsibilities.

[S43] [S44] [S45]
Keep this: Distribute deliberately; pay the network bill consciously.
Check yourself: Should every Kubernetes service add Eureka?

No. First determine whether native discovery already meets the requirement.

Sources & further reading

  1. [S43] Spring Cloud roles and compatibility

    Spring project maintainers · documentation · accessed 2026-10-09 · Documentation retrieved 2026-10-09

    Supports: Cloud project roles; Compatible release train BOMs

    Read the linked section to validate the mechanism and its version-specific constraints.

  2. [S44] REST clients

    Spring project maintainers · documentation · accessed 2026-10-09 · Documentation retrieved 2026-10-09

    Supports: RestClient; WebClient; HTTP service proxies; RestTemplate deprecated in Framework 7

    Read the linked section to validate the mechanism and its version-specific constraints.

  3. [S45] OpenFeign status

    Spring project maintainers · documentation · accessed 2026-10-09 · Documentation retrieved 2026-10-09

    Supports: Feature-complete status; Maintainer recommendation to HTTP service clients

    Read the linked section to validate the mechanism and its version-specific constraints.