Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/azure/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Windows Azure上不同版本的web应用(云服务)_Azure_Multi Tenant - Fatal编程技术网

Windows Azure上不同版本的web应用(云服务)

Windows Azure上不同版本的web应用(云服务),azure,multi-tenant,Azure,Multi Tenant,我有一个在WindowsAzure云服务中运行的多租户web应用程序。每个租户都有自己的子域,如tenata.mysite.com和tenantB.mysite.com。一个全球性的*.mysite.com将他们全部指向我的web应用程序 我需要能够引入我的应用程序的新版本,并将租户一次缓慢移动几个,同时保持其他人在旧版本上 现在,我用新的应用程序创建了一个新的云服务,并为该租户添加了一个特定的DNS记录,以指向新的服务 问题是更改DNS记录和传播导致的停机时间 有没有建议在不更改DNS记录的情

我有一个在WindowsAzure云服务中运行的多租户web应用程序。每个租户都有自己的子域,如tenata.mysite.com和tenantB.mysite.com。一个全球性的*.mysite.com将他们全部指向我的web应用程序

我需要能够引入我的应用程序的新版本,并将租户一次缓慢移动几个,同时保持其他人在旧版本上

现在,我用新的应用程序创建了一个新的云服务,并为该租户添加了一个特定的DNS记录,以指向新的服务

问题是更改DNS记录和传播导致的停机时间

有没有建议在不更改DNS记录的情况下执行此操作


我唯一的想法是在他们点击旧应用程序时进行某种类型的重定向,但这似乎会导致每个请求的延迟——或者会吗?

根据我对评论问题的回答,有一个建议是在2个数据中心维护重复服务,并使用Azure Traffic Manager(或DynDNS之类的DNS服务)以平衡服务的负载。更新后,请转到一个数据中心,并将流量管理器设置更改为适当的点。

根据对我的评论问题的回答,一个建议是在两个数据中心中维护重复的服务,并使用Azure流量管理器(或DynDNS等DNS服务)来平衡服务的负载。当您进行更新时,请转到一个数据中心,并将traffic manager设置更改为适当的点。

这比仅更新租户的DNS记录更为棘手。按照DNS传播和缓存的工作方式,对于某些用户,DNS将解析到新位置,而对于其他用户,同时,它仍将解析到以前的位置。结果是,用户可以同时访问同一租户的两个不同部署。正如您在其文档中所看到的,即使使用,您也无法直接控制客户端的行为(“浏览器通常会将这些条目缓存更长的时间,即使在其TTL过期之后”)

另一种方法是使用一个前端层,该层具有根据您定义的规则在内部将流量转发到适当的云服务的功能。在反向代理上更改这些规则将影响所有传入请求


另一种方法是使用,这样您就可以运行一个云服务并为所有租户更新它(使用VIP交换以避免停机),但只有具有设置为活动的新功能的选定租户才能看到它们。

这比只更新租户的DNS记录更为棘手。按照DNS传播和缓存的工作方式,对于某些用户,DNS将解析到新位置,而对于其他用户,同时,它仍将解析到以前的位置。结果是,用户可以同时访问同一租户的两个不同部署。正如您在其文档中所看到的,即使使用,您也无法直接控制客户端的行为(“浏览器通常会将这些条目缓存更长的时间,即使在其TTL过期之后”)

另一种方法是使用一个前端层,该层具有根据您定义的规则在内部将流量转发到适当的云服务的功能。在反向代理上更改这些规则将影响所有传入请求


另一种方法是使用,这样您可以运行一个云服务并为所有租户更新它(使用VIP交换以避免停机),但只有具有设置为活动的新功能的选定租户才能看到它们。

是什么导致要求(理由)一次缓慢地移动几个租户,在保持其他客户使用旧版本的同时?这允许我们将一些“早期采用者”客户放在新版本的应用程序上,并且我们可以确保在移动其他客户之前一切正常。是什么导致要求(理由)一次缓慢地移动几个租户,同时保持其他人在旧版本上?这允许我们将一些“早期采用者”客户放在新版本的应用程序上,并且我们可以在移动其他客户之前确保一切正常。是的,看起来它必须是某种类型的DNS相关解决方案。使用Traffic Manager会使应用程序面临不同用户同时使用新旧版本的可能性(甚至可能使用两组不同的数据,具体取决于应用程序的体系结构)。请看我的。是的,它看起来必须是某种类型的DNS相关解决方案。使用流量管理器会使应用程序面临不同用户同时使用新版本和旧版本的可能性(甚至可能使用两组不同的数据,具体取决于应用程序的体系结构)。看我的。这就是DNS解决方案的问题。我们对小的特性版本使用特性切换,但在本例中,它是对新数据库模式的一次重大检修。因此,我同意反向代理将是实现这一点的方法。看起来很有希望。是的,你也可以在一组平衡的Linux虚拟机上使用nginx。对,这就是DNS解决方案的问题。我们对小的特性版本使用特性切换,但在本例中,它是对新数据库模式的一次重大检修。因此,我同意反向代理将是实现这一点的方法。看起来很有希望。是的,您还可以在一组平衡的Linux虚拟机上使用nginx。