我有3个位置,每个都有自己的服务器(s1.mysite.com,s2.mysite.com,s3.mysite.com)。 这些都是Site:app.mysite.com的一部分。
我希望使用ARR将请求转发到服务器场中的特定服务器,具体取决于请求来自哪个位置(来自站点1的请求转到其位置本地的s1.mysite.com),同时允许故障转移在特定服务器出现问题的情况下,其他人之一。
我知道如何通过DNS名称(s1.mysite.com)将基于查询string的请求分发到特定的服务器,但如果该服务器closures,则该名称将不起作用。
我可以使用Microsoft ARR以这种方式实现这种减less和分配工作吗?
根据你对这种设置的推理,可能的解决scheme可能会改变。 我看到两个可能的原因:
如果您尝试实现高可用性并获得最佳响应时间,那么您将首先遇到需要通过ARR服务器的所有请求。 解决这个问题的方法是在每个站点都有ARR,使用DNS将用户指向其站点的ARR服务器,然后使用“最less响应时间”负载平衡algorithm。 这在理论上将站点1上的用户指向s1.mysite.com,同时如果s1下降,也将故障转移到s2和s3。
但是,如果networking问题导致s1.mysite.com不可用,则还可能导致站点1中的ARR服务器也不可用。 但是,它将屏蔽您在s1.mysite.com上的应用程序故障。
没有任何东西可以用来执行你想要完成的路由types。 不过,也有暴露的API允许您创buildURL重写的自定义重写提供程序。 这方面的信息可以在这里find。 您可以使用来自服务器variables,请求头,甚至查询string参数的信息与自定义重写提供程序一起执行您希望实现的路由types。