我们为一个客户编写的 Web 应用程序将被产品化并出售给数十家公司,我们将进行托管。
关于为每个客户推出单独的实例与使用单个(或极少数)多租户实例的优缺点,我可以使用一些指导。
起初,随着我们的增加,我将不得不为每个新客户推出一个单独的应用程序实例(他们将一次上线一个),因为这是唯一直接的选择。我想这在维护方面不会很好地扩展——一旦有超过 4 或 5 个实例,推出更改将变得非常乏味并且可能容易出错。除非我们以某种方式自动化。
此外,如果人们需要定制,单实例哲学似乎可能会导致一堆分叉。避免这种情况会很好。
那么你有什么经验呢?
额外的问题 #1: 10 个 SQL Server 与每个 2m 记录的 SQL Server 与一个巨大的 20m 记录之间的性能差异是什么?假设它们都在一个表中,我们主要对单个记录进行插入和选择。有时选择在索引的 varchar(12) 或日期字段上。
额外问题 #2:我想为了避免分叉,我们必须使自定义项可配置,或者构建一个插件架构。但是,这可能会增加进行定制的成本,我不想成为那些需要一周时间来调整文本框大小的商店之一,我不想过度投资于基础设施。对此有什么想法吗?
秤详细信息
每个客户都将拥有相当数量的数据——多达几百万条记录。
将有非常少量的并发用户,每个客户只有几个,加上我们这边的少数内部代表。
目前尚不清楚每个客户是否需要定制,但我想说其中一些可能会,也许其中一些更改将是其他客户不希望看到的东西。