【发布时间】:2013-12-23 12:02:10
【问题描述】:
我们正在将单租户应用程序升级为多租户(每个客户端的单独数据库)SaaS 应用程序。我的职责是设计租户配置部分。我正在考虑以下步骤。
虽然我们的管理员将安装我们的软件,但应始终创建一个数据库。此步骤的论据是管理员将仅在至少有一个租户出现时安装该软件。因此,在我们的软件安装过程中创建单个数据库应该是有意义的。
通用元数据将存储在一个通用位置。我们正在考虑使用 ZooKeepar 来存储常见的元数据。
将为每个租户分配一个子域。例如 www..samplaTenent.com 。此tenant_id 将从每个请求中的 URL 中提取,并将用于标识特定租户和相应的 DB。
如果需要配置更多租户,管理员将通过用户界面创建新的数据库实例。
使用的技术:
- Java 6
- Struts 框架
- MS SQL
现在,我想就建议的解决方案征求专家意见。有没有其他方法可以构建强大、安全且可扩展的 SaaS 应用程序?
谢谢。
【问题讨论】:
标签: multi-tenant