无头(无UI)的go语言的多租户框架。 本项目适合于简单的/单体(Web)项目,完整版本(支持微服务)可以看看go-saas-kit
-
不同的数据储存方式
-
支持多种Web框架
-
共享数据库下,支持自动数据隔离的Orm, 包括Orm所支持的数据库
-
自定义租户解析
- Query String
- Form parameters
- Header
- Cookie
- Domain format
-
初始化和数据库迁移
- 租户创建后初始化/迁移 数据库,或者以后升级到新的版本
-
和网关集成
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)
- example 使用
go-saas
,gin
,gorm(sqlite/mysql)
- go-saas-kit golang多租户微服务解决方案
https://docs.microsoft.com/zh-cn/azure/azure-sql/database/saas-tenancy-app-design-patterns