ABP之多租户
“软件多租户”指的是一种软件架构,一个软件实例在一个服务器上运行,但为多个租户服务。租户们对软件实例有通用的访问入口,但是每个租户都有特定的权限。 在多租户体系架构中,用程序旨在为每个租户提供一个专用的实例共享,包括其数据*、配置、用户管理、租户个人功能和非功能属性。 多租户与多实例体系结构形成对比,在多实例体系结构中,独立的软件实例代表不同的租户操作”(维基百科)。 简而言之,多租户是一种用于创建 SaaS (软件即服务)应用程序的技术。 数据库和部署架构 有几种不同的多租户数据库和部署方法: 多个部署-多个数据库(Multiple Deployment - Multiple Database) 这实际上不是多租户,但是如果我们为每个客户(租户)运行一个应用程序实例,并使用一个独立的数据库,我们可以在一个服务器上为多个租户服务。我们只需要确保应用程序的多个实例在同一个服务器环境中不会相互冲突。 对于已存在的但没有被设计为多租户的应用程序也是可能的。创建这样的应用程序可能更容易,因为不需要考虑多租户,但是会有安装,使用以及维护等各种问题。 单一部署-多个数据库(Single Deployment - Multiple Database) 在这种方法中,我们在服务器上运行应用程序的单个实例。我们有一个主(主机)数据库来存储租户元数据(比如租户名称和子域),每个租户有一个单独的数据库