based on Spring Boot 2
This an incubator project to try out various technologies in the domain of Cloud Applications. This project is just a tool for creating modules that gives real value for developing applications.
- from server name (subdomain) *
- from request header
- from user DB entity
- by using tenant descriptor field for all data
- by using separate DB schema per tenant *
- by using separate physical database per tenant
- Configuration is not packaged together with code *
- Configuration is updating without the need of application restart *
- Tenant configuration if used from externalized config *
- Persist session data *
- Persist application caches
- Persist data
- Zero downtime deployment support
- Communication between services & circuit breakers
- Migrate the whole application inside Heroku infrastructure **
- Migrate the whole application inside Amazon infrastructure **
- Migrate the whole build and deploy pipeline to Amazon infrastructure **
Items marked with * (asterisk) is in the primary scope of this project.
Items marked with ** (double asterisk) is in the primary scope of this project.
- Auto-configuration for retrieving tenant ID (e.g.: spring-boot-starter-multitenancy)
- Auto-configuration for separating tenant data (e.g.: spring-boot-starter-multitenancy-data)
- Auto-configuration for persisting session data (e.g.: spring-boot-starter-multitenancy-session)
- Auto-configuration for cloud config (e.g.: spring-boot-starter-multitenancy-config)
- Spring Boot 2 / Spring Framework 5
- SQL databases (MySQL, AWS Aurora)
- no-SQL databases (MongoDB, AWS DynamoDB)