azure - 使用负载均衡器的天蓝色会话管理
问题描述
我们计划在 2 个不同的天蓝色区域的 2 个 Web 服务器中托管一个 Web 应用程序,我计划使用流量管理器或 Azure 前门进行负载平衡。
我们希望根据优先级分配流量,因此如果一个区域的应用出现故障,LB 可以转移到其他实例。
假设我在美国中部和欧洲托管了一个实例,并在印度地区使用流量管理器或前门。
我想将 Central Us 实例设置为主实例,并将 Europe 实例设置为 Secondary,因此 LB 可以将流量路由到 Central Us 并在灾难中故障转移到欧洲。
当用户连接到 Central Us 区域并出现故障时会发生什么,负载均衡器如何处理会话管理?它是由负载平衡器自动处理还是需要任何配置?我不想使用 Azure 前门粘性会话,因为我想使用基于优先级的路由。由于流量管理器在 DNS 级别起作用,我可以将它用于我的用例吗?
解决方案
是的,Azure 流量管理器的优先流量路由方法正是在您的场景中发挥作用。
如果您想对所有流量使用主要服务端点,请选择优先级,并在主要或备份端点不可用时提供备份。
默认情况下,流量管理器将所有流量发送到主要(最高优先级)端点。如果主端点不可用,流量管理器会将流量路由到第二个端点。如果主端点和辅助端点都不可用,则流量转到第三个,依此类推。端点的可用性基于配置的状态(启用或禁用)和正在进行的端点监控。
更新
由于 Azure TM 在 DNS 层工作,它无法跟踪单个客户端,也无法实现“粘性”会话。如果您仍然坚持将其用于粘性会话,则需要在您的 Web 应用程序上进行额外配置。
因此,在这种情况下,Azure 前门是更好推荐的粘性会话方法,它还支持基于优先级的流量路由。
Front Door 配置的后端池中的每个后端都有一个名为“Priority”的属性,该属性可以是 1 到 5 之间的数字。使用 Azure Front Door,您可以使用此属性为每个后端显式配置后端优先级。此属性是一个介于 1 和 5 之间的值。较低的值表示较高的优先级。后端可以共享优先级值。
在后端池中添加后端 Web 应用时,只需在 Azure 前门 UI 中指定优先级。
推荐阅读
- c# - 为什么有些无人机不动?
- jboss - Wildfly 堆栈跟踪日志记录格式预先添加战争名称
- report - 行号 RDLC 报告
- database - 查询 OrientDB 时出错:无法查询 demodb 数据库
- sqlite - 是否可以在 SQLite 中进行多个查询?
- docker - Visual Studio:无法调试/附加到 docker 容器 - 访问被拒绝
- excel - 在 Mac 上用 VBA 打开文件
- node.js - mongodb导入错误。我的 mongodb 文档在 npm run data:import 之后只创建了 id
- unity3d - Unity 光子引擎命名空间错误
- r - 如何在 R 中正确格式化我的面板数据?