gpt4 book ai didi

django - Multi-Tenancy Django 应用程序

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

人们使用 Django 创建 Multi-Tenancy 应用程序时是否有常见的模式。内置的“站点”框架似乎是一个选择。人们还有其他成功的方法吗?

最佳答案

假设您为每个站点实例提供一个唯一的表,那么使用站点框架可以为“租户”提供安全保证。

另一方面,如果您的租户数量较少,则会浪费大量服务器资源,因为每个客户至少需要一个服务器进程,即使他们不是不使用系统。如果您有大量租户,那么麻烦就不会那么大,因为无论您采用何种方法,您都将被迫自动化解决方案。

将租户外键放入几乎所有模型中都可以正常工作,并且 Django 的 ORM 可以轻松(更容易?)使用 custom managers 强制执行安全性。如果您开始受到大量用户的打击,其缺点就是性能,因为没有简单的方法来扩展。

如果您确实需要扩展,我认为最好的解决方案可能是两种方法的组合。每个模型都有一个租户外键,因此可以共享数据库,但随后您可以在比 Django 更高级别上开发一些机制,将客户路由到站点实例。这使您可以将真正的大租户放在他们自己的数据库上,并为他们适当调整资源(例如,适当数量的 mod_wsgi 守护进程、数据库连接数量、适当大小的内存缓存池等),而较小的租户共享公共(public)资源。

关于django - Multi-Tenancy Django 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1106557/

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