我们正在构建一个将作为 SaaS 提供的 Silverlight 应用程序。最终产品是连接到 WCF 服务的 Silverlight 客户端。由于客户端的数量可能很大,因此更新需要很容易,最好是可以一次性更新所有实例。
之前没有实施多租户,我正在寻找有关如何实现的意见
- 轻松升级
- 数据安全
- 可扩展性
msdn上列出了要考虑的三种不同模型
- 单独的数据库。这不容易维护,因为所有模式更改都必须单独应用于每个客户的数据库。还有其他缺点吗?专业人士是数据分离和安全性。这也允许对每个客户进行轻微修改(这可能比它的价值更麻烦!)
- 共享数据库,单独的模式。TenantID 列被添加到每个表中。确保每个客户都获得正确的数据具有潜在的危险。易于维护且可很好地扩展(?)。
- 共享数据库,单独的模式。类似于第一个模型,但每个客户在数据库中都有自己的一组表。很难为单个客户恢复备份。可维护性在其他方面类似于模型 1 (?)。
关于这个主题的文章有什么建议吗?有人用 Silverlight SaaS 应用探索过类似的东西吗?在客户端我需要考虑什么?