多租户架构

2020-08-31 02:55:55

这里没有对错之分。这是关于选择和后果的问题,你应该考虑到你的业务背景和限制因素。在这篇文章中,我打算草草写下这些多租户体系结构中的每一个要记住的几个关键点。

适宜性:这是开始您的SAAS平台的最佳方式,用于产品-市场匹配,直到稳定和增长。

随着交易量和数据量的增加,您将如何管理?由于关系数据库的优点,它是垂直可伸缩的,而不是水平可伸缩的。现在,这意味着,随着您加入越来越多的租户,它可能会比您想象的更快成为瓶颈,具体取决于交易量和数据量。

对于在UI上提供大量定制的SaaS应用程序,如何获得特定于租户的延迟优化配置?Wix电子商务、Shopify等。

一种模型,在该模型中,特定于租户的配置绑定到已部署的实例,但所有实例都共享一个公共数据库。每个客户端的数据隔离是通过为数据库模式添加租户信息前缀来实现的。

您有许多Web框架和Web插件支持这种使用租户特定数据作为前缀的查询模型,以命中正确的数据源。例如,公寓(rails/ruby)、多租户(laravel/php)、springboot(Java)等。

关系数据库实例很昂贵。它比您应用程序实例贵得多,而且不像您的计算实例那样是一次性的。你必须为它的容量规划做一点前瞻性的展望。

当您作为SaaS提供程序管理数据库实例并希望优化总体成本时,通常最简单的做法是使用共享数据库。

随着交易量和数据量的增加,您将如何管理?由于关系数据库的优点,它是垂直可伸缩的,而不是水平可伸缩的。现在,这意味着,随着您加入越来越多的租户,它可能会比您想象的更快成为瓶颈,具体取决于交易量和数据量。

如何根据每个请求动态访问正确的数据库?您如何才能以最佳方式实现延迟?想想Atlassian系列产品,如Confluence、Jira、Bitbucket等。

对于在UI上提供大量定制的SaaS应用程序,如何获得特定于租户的延迟优化配置?Wix电子商务、Shopify等。