headless go framework for saas(multi-tenancy).
go-saas
targets to provide saas solution for go
this project suits for simple (web) project, which is also called monolithic.
if you are finding complete solution which is microservice compatible, please refer to go-saas-kit
Different database architecture
Hybrid tenancy models are also available.
Implement your own resolver to achieve style like sharding
Support multiple web framework
Supported orm with data filter, which means all underlying database
Customizable tenant resolver
Seed and Migration
Integration with gateway
go get github.com/go-saas/saas
graph TD
A(InComming Request) -->|cookie,domain,form,header,query...|B(TenantResolver)
B --> C(Tenant Context) --> D(ConnectionString Resolver)
D --> E(Tenant 1) --> J(Data Filter) --> H(Shared Database)
D --> F(Tenant 2) --> J
D --> G(Tenant 3) --> I(Tenant 3 Database)
go-saas
,gin
,gorm(sqlite/mysql)
go-saas
,gin
,ent(sqlite)
Refer to wiki
https://docs.microsoft.com/en-us/azure/azure-sql/database/saas-tenancy-app-design-patterns