Azure traffic manager不合理的负载平衡导致问题

Azure traffic manager不合理的负载平衡导致问题,azure,architecture,replication,Azure,Architecture,Replication,我有一个azure流量管理器,配置为基于性能(延迟)在两个数据中心上路由流量。这两个DC是彼此的复制品,其设计方式使我们的全球客户无论从何处连接,都能获得良好的性能 应用程序层不保持状态,数据层使用SQL merge复制在1分钟的计时器上进行设置,以保持DBS同步,从而在数据中心故障切换时提供服务连续性 我发现的问题是,流量管理器的路由有点不稳定。我观察到,在一个数据中心下注册一个用户,却发现登录已被路由到另一个数据中心-此时SQL复制尚未同步,第二个DC不知道该用户存在。即使用户从同一位置注册

我有一个azure流量管理器,配置为基于性能(延迟)在两个数据中心上路由流量。这两个DC是彼此的复制品,其设计方式使我们的全球客户无论从何处连接,都能获得良好的性能

应用程序层不保持状态,数据层使用SQL merge复制在1分钟的计时器上进行设置,以保持DBS同步,从而在数据中心故障切换时提供服务连续性

我发现的问题是,流量管理器的路由有点不稳定。我观察到,在一个数据中心下注册一个用户,却发现登录已被路由到另一个数据中心-此时SQL复制尚未同步,第二个DC不知道该用户存在。即使用户从同一位置注册和登录!DC位于美国西部和东南亚

我正在考虑一些解决方法。解决方案A是将用户数据发送到特定的数据中心,因此用户注册到的任何DC都将在此后使用。我不会有同步问题,但我失去了SQL复制提供的连续性优势

解决方案B是使用不同的、更可预测的全局负载平衡器。但首先,我想听听大家的意见,看看我是否做错了什么,或者我的架构是否有缺陷


感谢您的建议。

我的解决方案在使用流量管理器时也遇到了挑战,尽管与您的略有不同。如果traffic manager适合您,它将是一个非常有价值的解决方案。据我所知,traffic manager中的任何配置都不允许它感知会话,因此在您的情况下,它会闪烁为其性能配置设置。这意味着它的行为不稳定,因为您希望它在可用的情况下使用会话持久化到端点

就您的解决方案而言,它是非常企业化的。考虑到您所做的构建工作,使用解决方案A向后移动可能不符合要求。解决方案B提供了Traffic Manager所缺乏的更多功能,其中一个功能将解决您的问题。出于其他原因,我正在考虑

 http://kemptechnologies.com/uk/server-load-balancing-appliances/virtual-loadbalancer/loadmaster-azure
它是为Azure设计的,可以作为预安装的VM提供。还有其他可用的,但这是我的选择,如果我处在你的位置,并希望保持你目前的恢复力水平,我会使用它


希望这能有所帮助。

Steve-谢谢你的回答,非常有洞察力。我将研究如何实施这一点,并将报告结果。另外,负载平衡器是免费的吗?上面写着“Azure免费”,但我有点怀疑。不客气。如果您能在方便的时候给答案打分,我们将不胜感激。价格取决于您的吞吐量和端点,对于我的解决方案,免费版本是足够的,功能齐全。成本是运行它的虚拟机,但是我的测试版本在一个非常小的虚拟机上非常满意。网上有关于配置它的指南,但Kemp的工作人员对我很有帮助。请记住,您至少需要两个,每个DC一个,您可以创建类似物理设备的弹性对。还要注意你的网络,因为它是在IP上工作的,所以你需要在同一个网络中使用端点。只是更新这个答案-这就是我最终使用的,KEMP的人在设置方面非常有帮助。该产品在提供Azure traffic manager的可供生产使用的替代品方面非常全面,具有大量附加功能/特性。