Platform layer for Spring Boot microservices

Standardize infrastructure. Keep services autonomous.

Spring Middleware is not another framework on top of Spring Boot. It is a platform layer designed to standardize microservice infrastructure while keeping architecture explicit, service communication consistent, and system topology discoverable.

Java 21 Spring Boot 3.4.x GraphQL Federation Kafka & RabbitMQ Registry-driven Architecture Active Development
Overview

A foundation layer for microservice platforms

Instead of every service reimplementing service discovery, client plumbing, error handling, context propagation, messaging integration, and schema metadata, Spring Middleware provides a consistent platform layer between business logic and infrastructure.

Why it exists

Reduce repeated infrastructure work

Modern microservice systems keep needing the same capabilities. Spring Middleware standardizes those concerns so teams can focus on domain logic instead of rebuilding plumbing over and over again.

Design philosophy

Explicit architecture over hidden behavior

Communication, topology, schemas, and error propagation are meant to be visible and understandable. The goal is consistency without turning the system into opaque magic.

What it provides

Platform capabilities, not generic abstractions

Service discovery, declarative clients, GraphQL federation, context propagation, search engines, Redis utilities, RabbitMQ, Kafka, and a unified error model are first-class parts of the platform.

Architecture

Registry-driven microservice infrastructure

The Registry Service acts as the control plane of the platform. Services register REST resources, GraphQL schemas, active nodes, and metadata so the system can reason about topology, health, and runtime composition.

Control plane

Central topology and metadata registry

The registry stores service topology, API metadata, GraphQL schemas, and node health. Services continuously reconcile state so the platform converges automatically toward the real cluster state.

Application Business Logic ↓ Spring Middleware ↓ Spring Boot / Infrastructure
Runtime model

Autonomous services on shared infrastructure

Each service remains independent while participating in a common platform model. Communication stays explicit, topology is discoverable, and missing state can be rebuilt through self-healing registration flows.

• REST resources are registered automatically
• GraphQL schemas are published as platform metadata
• Node instances report health and topology
• Services communicate through middleware clients
Capabilities

Designed for consistency, resilience, and discoverability

Spring Middleware focuses on platform concerns that usually become fragmented across teams. The result is a system where infrastructure patterns are standardized without hiding the underlying architecture.

Declarative HTTP clients

Services declare communication contracts while the platform handles discovery, node selection, retries, context propagation, and remote error handling.

Distributed GraphQL federation

Services publish schemas independently and the platform composes them into a unified GraphQL API through a federated gateway model.

Unified error propagation

Errors follow a consistent format across services, preserving transport details and making debugging and observability much clearer.

Request context propagation

X-Request-ID and X-Span-ID travel across calls so distributed operations remain traceable without forcing heavy observability stacks.

Messaging as platform infrastructure

RabbitMQ and Kafka integrations are built around declarative and reusable platform concepts instead of one-off per-service wiring.

Distributed data utilities

Mongo, JPA, and Redis modules provide reusable search engines, shared maps, distributed locks, and consistency patterns across services.

Modules

A focused modular ecosystem

Spring Middleware is split into modules so teams can adopt what they need while keeping version consistency through the BOM published in Maven Central.

Communication

API, app, registry, GraphQL

Core platform modules cover declarative clients, registry-driven architecture, GraphQL federation, gateway infrastructure, and the shared application layer.

Data

Mongo, JPA, Redis, cache

Dynamic search engines and shared infrastructure utilities help standardize persistence patterns across relational and non-relational services.

Messaging

RabbitMQ and Kafka

Event-driven communication becomes part of the platform through reusable publishers, subscribers, topic support, and integration patterns.

<dependencyManagement> <dependencies> <dependency> <groupId>io.github.spring-middleware</groupId> <artifactId>bom</artifactId> <version>1.3.0</version> <type>pom</type> <scope>import</scope> </dependency> </dependencies> </dependencyManagement>
Documentation

Start with the high-level guides, then drill down

The documentation is organized so you can begin with platform concepts and continue into more specific module guides for GraphQL, Kafka, RabbitMQ, security, communication, and data integrations.

Recommended path

What to read first

Architecture overview
Registry and schema metadata
Service communication and @MiddlewareClient
GraphQL support and gateway
Security and client-side security modes
Module guides

Deep dives by area

Redis, Mongo, and JPA modules
RabbitMQ integration and best practices
Kafka integration and configuration
Request / response logging
Module READMEs under parent/*/README.md

Build Spring microservices with a real platform layer.

Explore the codebase, import the BOM, and follow the documentation to understand how Spring Middleware standardizes infrastructure while preserving explicit architecture and service autonomy.

About the author

Spring Middleware is designed and developed by Fernando Guardiola Ruiz, a senior backend architect with extensive experience building distributed systems, microservice platforms, and high-throughput architectures in production environments.

The platform reflects real-world challenges across service communication, infrastructure standardization, and system topology management.