Back to projects

multitenacy-microservices

Spring Boot microservices architecture demo for comparing multi-tenancy strategies. The project models tenant isolation with database-per-tenant, schema-per-tenant, and tenant-column approaches across separate services.

Key Features

  • Compares database-per-tenant, schema-per-tenant, and tenant-column isolation models
  • Splits employee, organization, device, and tenant registry responsibilities into separate services
  • Uses PostgreSQL, Consul, Docker Compose, Actuator, and tenant-header validation for local architecture testing

Technologies

JavaSpring BootSpring CloudPostgreSQLConsulDocker
Spring Boot backend architecture demo for comparing multi-tenancy strategies across microservices. The repository contains four services and local infrastructure for tenant-aware backend design: `employee-service`, `organization-service`, `device-service`, and `tenant-service`. The project demonstrates several tenant data-isolation approaches in one system while keeping service boundaries explicit. Employee data uses a database-per-tenant model, organization data uses schema-per-tenant isolation, device data uses tenant-column isolation, and the tenant service stores shared tenant metadata. The public repository path keeps the historical typo `multitenacy-microservices`, while the README and Gradle root project use the corrected `multitenancy-microservices` spelling.