你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

多租户解决方案的体系结构方法

可以通过多种方式在 Azure 中设计和生成多租户解决方案。 在极端情况下,您可以在所有租户之间共享解决方案中的每一项资源。 在另一种极端情况下,你可以为每个租户部署隔离的资源。 对于每个租户来说,部署单独的资源似乎很简单,并且它适用于几个租户。 但是,它通常缺乏成本效益,并使得资源管理变得困难。 介于这些极端之间有几种方法。 每个方法都需要权衡规模、隔离、成本效益、性能、实现复杂性和可管理性。

本部分介绍构成解决方案的主要类别的 Azure 服务的方法,包括计算存储和数据网络部署标识消息传送、AI 和机器学习以及物联网(IoT)。 对于每个类别,它列出了需要避免的反模式,以及在设计多租户解决方案时要考虑的关键模式和方法。

部署标记模式

多租户解决方案通常使用 部署标记模式。 此模式为租户或一组租户部署专用基础结构。 单个印章可能为多个租户提供服务,也可能只为一个租户服务。

显示部署标记模式的示例实现的关系图。在此方案中,每个租户都有自己的包含数据库的标记。

单租户标记使部署戳记模式更易于实现。 每个标记函数独立运行,不需要应用程序层中的多租户逻辑或功能。 此模式提供最高级别的隔离,有助于避免 干扰邻居问题。 它还根据特定要求(例如目标地缘政治区域或高可用性需求)为租户提供配置或自定义。

多租户邮票需要额外的模式来管理模具中的多租户,并且仍然可能出现干扰性邻居问题。 不过,随着解决方案的增长,"部署戳记模式"支持持续扩展。

对单个租户使用部署印戳模式的主要缺点是基础设施成本。 每个戳记都需要其自己的专用基础设施,并且不能与其他租户共享该基础设施。 还必须预配资源来处理租户的峰值工作负荷。 确保 定价模型 抵消租户基础结构的部署成本。

单租户标记通常适用于几个租户。 随着租户数量的增长,管理单租户邮票群变得更加困难。 有关示例案例研究,请参阅 针对大型提供程序在 Azure SQL 上运行 100 万个数据库。 还可以应用部署标记模式来创建多租户印花。 此方法支持资源共享并降低基础结构成本。

若要实现部署标记模式,请使用自动部署方法。 根据部署策略,可以使用声明性基础结构(如 Bicep 文件或 Terraform 模板)来管理部署管道中的标记。 或者,可以生成自定义代码,以便使用 Azure SDK 或其他工具部署和管理每个标记。

预期受众

本部分中的文章旨在帮助解决方案架构师和多租户应用程序的开发人员,包括开发软件即服务(SaaS)解决方案的独立软件供应商和初创公司。 本部分中的大部分指南都广泛适用于类别中的多个 Azure 服务。