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

适合多租户解决方案架构师和开发人员的资源

多租户应用程序的体系结构

以下文章提供了 Azure 上的多租户体系结构的示例。

体系结构 摘要 技术重点
Azure 上的多租户 SaaS Azure 上的多租户 SaaS 方案的参考体系结构,该体系结构部署在多个区域 Web
通过多租户 Azure Kubernetes 服务使用应用程序网关入口控制器 使用 AKS 和 AGIC 实现多租户的示例 Kubernetes
所有多租户体系结构 列出所有包含多租户的体系结构 多个

云设计模式

以下云设计模式经常在多租户体系结构中使用。

模式 总结
部署戳模式 部署应用程序组件的多个独立副本(缩放单元),包括数据存储。
联合标识 将身份验证委托给外部标识提供者。
守护程序 通过使用专用的主机实例保护应用程序和服务,该实例用于充当客户端和应用程序或服务之间的中转站、验证和整理请求,并在它们之间传递请求和数据。
基于队列的负载调控 使用队列在任务与所调用的服务之间充当缓冲,从而缓解间歇性负载过大现象。
分片 将数据存储划分为一组水平分区或分片。
限制 控制应用程序实例、单个租户或整个服务对资源的消耗。

反模式

考虑近邻干扰反模式,其中一个租户的活动可能会对另一个租户使用系统造成负面影响。

Microsoft Azure 架构良好的框架

虽然整个 Azure 架构良好的框架对于所有解决方案都非常重要,但请特别注意复原能力支柱。 云托管的性质导致应用程序通常是多租户的,它们使用共享平台服务,竞争资源和带宽,通过 Internet 进行通信,并在商用硬件上运行。 这增加了暂时性故障和更持久故障的可能性。

多租户体系结构指导

  • 在 Azure 上架构多租户解决方案(视频):此视频讨论了如何在 Azure 上设计、架构和构建多租户解决方案。 如果你正在构建 SaaS 产品或其他多租户服务,在你规划高性能、租户隔离并管理部署时,需要经过充分的考虑。 此研讨会面向正在构建多租户或 SaaS 应用程序的开发人员和架构师,包括初创公司和 ISV。
  • Azure Friday - 在 Azure 上架构多租户解决方案(视频):Azure Friday 的这段视频讨论了如何在 Azure 上设计、架构和构建多租户软件即服务 (SaaS) 解决方案。
  • 加速 SaaS 之旅并消除风险(视频):此视频提供了有关过渡到软件即服务 (SaaS) 交付模型的指导 - 无论是从一开始就将现有解决方案从本地直接迁移到 Azure、考虑多租户体系结构,还是寻求对现有 SaaS Web 应用程序进行现代化改造。

有关 Azure 服务的资源

管理和符合性

  • 组织和管理多个 Azure 订阅:考虑如何管理 Azure 订阅以及如何将租户资源分配到订阅非常重要。
  • 跨租户管理体验:作为服务提供商,可以使用 Azure Lighthouse 从自己的 Microsoft Entra 租户内管理多个客户的资源。 可以使用 Azure 委托资源管理跨托管租户执行许多任务和服务。
  • Azure 托管应用程序:在托管应用程序中,资源将部署到由应用发布者管理的资源组。 资源组在使用者的订阅中,但发布者租户中的标识有权访问该资源组。

计算

网络

  • 从提供商 (SaaS ISV) 和消费者的角度看 Azure 专用链接服务说明和演示:一段视频,介绍了支持多租户服务提供商(例如构建 SaaS 产品的独立软件供应商)的 Azure 专用链接服务功能。 此解决方案让使用者能够使用自己的 Azure 虚拟网络的专用 IP 地址访问提供者的服务。
  • 带有 Azure 专用链接服务的 TCP 代理协议 v2 - 深入探讨:一段视频,深入探讨了 TCP 代理协议 v2,这是 Azure 专用链接服务的高级功能。 在多租户和 SaaS 方案中都非常有用。 这段视频向你展示了如何在 Azure 专用链接服务中启用代理协议 v2。 它还向你展示了如何配置 NGINX 服务以读取原始客户端的源专用 IP 地址(而不是 NAT IP),以通过专用终结点访问服务。
  • 使用 NGINX Plus 解码来自 Azure 专用链接服务的代理协议 TLV linkIdentifier:一段视频,介绍如何使用 NGINX Plus 从 Azure 专用链接服务获取 TCP 代理协议 v2 TLV,然后。 该视频演示如何提取和解码专用终结点连接的数字 linkIdentifier(也称为 LINKID)。 此解决方案对于需要识别建立连接的特定使用者租户的多租户提供商很有用。
  • SaaS 专用连接模式:一个示例解决方案,说明了使用 Azure 托管应用程序自动批准专用终结点连接的一种方法。

Web

存储和数据

Messaging

  • Azure 事件网格域:使用 Azure 事件网格域可以大规模管理多租户事件体系结构。
  • 服务总线示例:使用 Azure 服务总线跨租户通信:Azure 服务总线的示例实现演示如何在中心提供程序与一个或多个客户(租户)之间通信。

标识

Analytics

IoT

AI/ML

社区内容

Kubernetes

  • Kubernetes 的三种租户模型:Kubernetes 群集通常由组织中的多个团队使用。 此文介绍了 Kubernetes 的三种租户模型。
  • 了解 Kubernetes 多租户:Kubernetes 不是现成的多租户系统。 虽然可以配置多租户,但这可能有一定的难度。 本文介绍了 Kubernetes 多租户类型。
  • Kubernetes 多租户 - 最佳做法指南:随着 Kubernetes 的使用不断普及,越来越多的组织对 Kubernetes 多租户感兴趣。但是,由于 Kubernetes 并不直接属于一个多租户系统,因此要设计出一种多租户 Kubernetes 实现会有一定难度。 本文介绍了这些挑战、如何克服这些挑战,以及 Kubernetes 多租户的一些有用工具。
  • Capsule:让 Kubernetes 多租户的实现变得简单:Capsule 可以帮助在 Kubernetes 群集中实现多租户和基于策略的环境。 它不是一个“平台即服务 (PaaS)”产品,而是一个基于微服务的生态系统,且采用了极简设计方法并仅使用上游 Kubernetes。
  • Loft:将多租户添加到群集:Loft 为多租户提供轻型 Kubernetes 扩展。
  • Crossplane:云原生控制平面框架:Crossplane 使你能够使用基于 Kubernetes 的方法为自己的解决方案生成控制平面。

作者

本文由 Microsoft 维护, 它最初是由以下贡献者撰写的。

主要作者:

若要查看非公开领英个人资料,请登录领英。