go-saas / saas

go data framework for saas(multi-tenancy)
MIT License
253 stars 44 forks source link
gin golang kratos multi-tenancy saas tenant

go-saas

English | 中文文档

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

Overview

Feature

Install

go get github.com/go-saas/saas

Design

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)

Sample Project

Documentation

Refer to wiki

References

https://docs.microsoft.com/en-us/azure/azure-sql/database/saas-tenancy-app-design-patterns