Azure 公共多接入边缘计算 (MEC) 是一个用于在边缘托管应用程序的极佳平台,可以使它们更具响应能力,但它目前不支持高可用性功能。 本文介绍如何在主动/备用模式下部署工作负荷,以实现高可用性和灾难恢复。
Apache®、Apache Ignite、Ignite 和火焰徽标是 Apache Software Foundation 在美国和/或其他国家/地区的商标或注册商标。 使用这些标记并不暗示获得 Apache Software Foundation 的认可。
体系结构
下载此体系结构的 Visio 文件。
工作流
Microsoft Azure 流量管理器 配置 Microsoft Azure 流量管理器以使用优先级路由。 将 Azure 公共 MEC 中的负载均衡器 IP 地址 (主要)设置为 优先级 1。 将次要区域中的一个设置为优先级 2。 此配置会将非故障转移案例中的所有流量发送到 Azure 公共 MEC。
注意
对于 Azure 公共 MEC,Microsoft Azure 流量管理器目前不支持性能路由,这可能会根据终结点的最低延迟动态确定前述的路由。
在此体系结构中,在虚拟机 (VM) 和/或标准负载均衡器重新联机后,会自动实现故障回复。 Microsoft Azure 流量管理器确定工作负荷已启动,并将流量重新路由回主要 Azure 公共 MEC 区域。
公共负载均衡器。 此负载均衡器在应用程序层前面,对虚拟机规模集中 VM 池的流量进行均衡。
内部负载均衡器。 此负载均衡器用于访问数据库层。 根据应用程序所使用的数据库类型,可能不需要此处的负载均衡器,假设其他平台即服务 (PaaS) 服务都有自己的负载均衡器。
Microsoft Azure 虚拟机规模集。 大多数生产部署使用 Microsoft Azure 虚拟机规模集根据流量负载动态缩放工作负荷。 Azure 公共 MEC 还支持云原生和基于容器的应用程序Azure Kubernetes 服务。
数据库层。 Azure 公共 MEC 目前不支持 Azure 虚拟机 和 Azure SQL 托管实例上的 SQL Server 等 SQL 数据库 PaaS 服务。 目前不支持 NoSQL PaaS 服务,比如 Microsoft Azure Cosmos DB 和 Azure Managed Instance for Apache Cassandra。 可以部署支持 SQL 或 NoSQL 服务和跨异地分布式群集复制数据的第三方解决方案。
组件
- Azure 公共 MEC 是一种边缘计算解决方案,可将从云管理的 Microsoft 计算、网络和应用程序服务产品组合融合到一起。
- Azure 流量管理器是基于 DNS 的流量负载均衡器。 可以使用它根据选择的路由方法定向传入 DNS 请求。
- Azure 负载均衡器为应用提供高可用性和高性能。
- 使用 Microsoft Azure 虚拟机规模集,可以管理和纵向扩展数千个 VM。
备选方法
使用 Azure 备份和灾难恢复解决方案,可提供 Azure Site Recovery 和备份功能:
- 主动将 VM 从 Azure 公共 MEC 复制到父区域,使其可用于在中断时进行故障转移和故障回复。
- 备份 VM 以防止数据损坏或丢失。
此方法的成本低于前面所述的成本,因为没有空闲资源。 此替代方法仅适用于允许更高 RTO 的应用程序。
注意
目前 Azure 公共 MEC 的 Azure 备份和灾难恢复解决方案仅支持虚拟机。
方案详细信息
可能的用例
若要在主动/备用模式下部署工作负荷,请使用此体系结构,以便实现高可用性和灾难恢复。 此解决方案非常适合电信行业。
注意事项
这些注意事项实施 Azure 架构良好的框架的支柱原则,即一套可用于改善工作负荷质量的指导原则。 有关详细信息,请参阅 Microsoft Azure 架构良好的框架。
SLA
Microsoft 支持较大规模基础结构(例如 Azure 和 Azure 区域)的服务级别协议 (SLA)。 Azure 公共 MEC 是 Azure 上一个覆盖范围较小的扩展,因此不享有 SLA 支持。
性能
Azure 公共 MEC 旨在托管延迟关键型应用程序。 由于故障转移到次要区域会增加工作负荷的延迟,因此它可能无法提供相同的性能级别。 根据应用程序及其对此增加延迟的敏感度,需要确定哪些服务(如果有)应故障转移到该区域。
数据库
依赖于数据库故障转移时,数据复制和备份非常重要。 大多数 Azure PaaS 服务都内置支持异地复制和跨区域和地理位置创建只读副本。
注意
Azure 公共 MEC 目前不支持 PaaS 服务,例如 Azure 虚拟机、Azure Database for MySQL 或 Azure Database for PostgreSQL 上的 SQL 托管实例、SQL Server。 Couchbase、MongoDB 和 Apache Cassandra 等第三方产品/服务可以提供支持异地复制的基础结构即服务 (IaaS) 服务。
流量管理器
故障转移选项
Microsoft Azure 流量管理器支持多种路由方法:性能、地理、优先级等。 为了最好地支持低延迟应用程序,请将数据动态发送到离用户最近的区域/Azure 公共 MEC。 Azure 公共 MEC 目前不支持性能路由。 下一个最佳选项是静态确定应用程序的最佳位置的优先级。
对于跨多个 Azure 公共 MEC 和区域分布的工作负荷的全局分布式应用程序,请使用嵌套路由方法。 使用地理路由将流量拆分到正确的区域,然后使用优先级路由进一步拆分流量。
故障回复
备份 Azure 公共 MEC 中的工作负荷后,Microsoft Azure 流量管理器探测检测到它可以获取请求并自动将流量重新路由回 Azure 公共 MEC。
成本优化
成本优化是关于寻找减少不必要的费用和提高运营效率的方法。 有关详细信息,请参阅成本优化支柱概述。
Azure 公共 MEC 主要用于低延迟和实时计算方案。 数据由在 Azure 公共 MEC 中运行的计算实例进行处理。 此体系结构将主动/待机与热待机配合使用。 也就是说,除非存在故障转移,否则不会使用次要区域中的工作负荷。
将工作负荷部署为备用工作负荷的方法会产生 Azure 部署成本,即使不使用工作负荷也是如此。
有关定价的更多信息:
- 请参阅 Azure 定价。
- 要估计此解决方案的实现成本,请使用 Azure 定价计算器。
有关创建经济高效的工作负荷的信息,请参阅 Azure Well-Architected Framework 文档中的成本优化支柱概述。
作者
本文由 Microsoft 维护, 它最初是由以下贡献者撰写的。
首席作者:
- Adhip Gupta |高级项目经理