我们已经为大约800名内部客户提供了数据库(MS-SQL和Oracle),范围从20到400 GB。我的团队正在构建Azure版本,我想得到一些建议。
我们的想法是使用Azure SQL Server。每个客户(租户)都将获得自己的数据库。这很重要,因为客户可以决定是否要更新到更新版本。我知道云软件听起来很奇怪但是为了符合FDA标准,他们需要验证任何新版本,这可能需要数周的时间。这意味着我们可以拥有两个或三个“活跃”部分 - 例如 - 30%的客户使用V1,60%使用V2,10%使用V3。
业务服务器将使用Service Fabric实现,以便我们可以在获得新的云客户时进行扩展。在任何时候,我们将在集群中拥有这些软件的2或3个版本。然后租户将连接到正确的“逻辑”,服务器将连接到客户的数据库。
现在问我的问题:这可行吗?我的意思是,群集中的计算机需要连接到300个不同的数据库。本地连接池使用连接字符串和用户作为重用连接的密钥。我们希望云以不同的方式工作,并且不受不同连接数量的限制。它是否使用游泳池?如果是的话,有什么影响? (记忆,表现......)
关于实施它的任何其他想法?
答案 0 :(得分:1)
Connection pooling的工作原理与云端相同。连接由连接字符串池化。您可以根据需要连接到任意数量的数据库。
请查看Azure Sql elastic pools,了解如何以经济高效的方式管理云中的多个数据库。