gpt4 book ai didi

content-management-system - 没有表/数据库扩散的 Orchard Multi-Tenancy

转载 作者:行者123 更新时间:2023-12-02 02:10:26 26 4
gpt4 key购买 nike

我正在考虑使用 Orchard CMS 为我的 SaaS 应用程序实现 Multi-Tenancy 门户解决方案。我很高兴 Multi-Tenancy 似乎是一流的功能,但看起来为了实现它,我必须要么 a) 为每个租户创建一组带有表前缀的表,要么 b) 有每个租户的单独数据库。

我正在尝试为超过 10,000 名客户构建解决方案,因此任何需要我对每个租户进行物理数据架构更改的内容都无法扩展。在我们的 SaaS 应用程序中,我们在所有表上使用一个 tenantID 列,并使用 nHibernate 过滤器和大量索引来允许我们扩展。

我想在 Orchard 做同样的事情。因此,我想要一组带有租户 ID 的表,而不是每个租户的表,然后使用数据访问层 (NHib) 中的过滤器来始终提取正确的数据。

问题:

1) 这可能吗?2)有人这样做过吗?3)关于最佳方式的任何想法?我打算直接修改 MultiTenancy/NHiberate 模块源。

最佳答案

这是可能的,但很难做到。

这也很可能不是 Orchard Multi-Tenancy 的场景,但如果没有任何进一步的细节,我无法确定。

此功能最适用于您需要拥有完全独立的应用程序并且(几乎)它们之间不应共享任何内容的情况 - 例如在共享主机中。主要缺点是内存开销,因为每个租户都有自己的整个内部对象基础结构的副本。

一种更简单的方法是使用单租户并从头开始在您自己的单独模块中实现所需的 Multi-Tenancy 方案,而不是尝试将方钉插入圆孔中以调整 Multi-Tenancy 。你可以例如。拥有“租户”内容类型并围绕它构建您的模块。

关于content-management-system - 没有表/数据库扩散的 Orchard Multi-Tenancy ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13220266/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com