Url Azure计算实例中的多个Web角色[部署]

Url Azure计算实例中的多个Web角色[部署],url,deployment,azure,instance,webrole,Url,Deployment,Azure,Instance,Webrole,我们可以选择在一个部署中拥有2个或更多web角色。但是每个部署可以是阶段性部署或生产性部署,也就是说,我们只能获得一个URL来访问该部署 考虑到这种情况下如何访问不同的webrole,这些webrole的URL是什么。在一个部署中有多个webrole有什么用。在生产部署中,您的webrole可以通过URL访问,URL带有您之前定义的前缀,例如myapp.cloudapp.net;另一方面,可以通过自动生成的URL访问临时部署中的web角色,例如205521014d8c440a83852b62e0

我们可以选择在一个部署中拥有2个或更多web角色。但是每个部署可以是阶段性部署生产性部署,也就是说,我们只能获得一个URL来访问该部署


考虑到这种情况下如何访问不同的webrole,这些webrole的URL是什么。在一个部署中有多个webrole有什么用。

在生产部署中,您的webrole可以通过URL访问,URL带有您之前定义的前缀,例如
myapp.cloudapp.net
;另一方面,可以通过自动生成的URL访问临时部署中的web角色,例如
205521014d8c440a83852b62e0df9db5.cloudapp.net

恐怕无法绕过AppFabric路由器直接访问web角色实例。你为什么要这么做呢


如果您需要从一个Web角色实例访问另一个Web角色实例,请考虑使用A/OR来代替直接通信。

< P> <强>为什么在一个部署中有多个Web角色?< /强>考虑具有面向公众的(面向客户的)网站的应用程序,以及管理网站(可能在端口8000上)。有两种基本的处理方法:

  • 将两个站点放在同一个web角色中。这意味着它们现在共享虚拟机实例、网卡、内存等。这还意味着,如果您需要扩展以处理流量,则这两个站点将作为单个单元一起扩展
  • 将每个站点置于其自己的角色中。现在,它们位于自己的VM实例中,可以单独进行缩放
  • 选项1更具成本效益,因为您只需要两个角色实例(SLA至少需要两个)。选项#2更适合独立缩放。例如:如果你的客户流量大幅增加,这可能会给你在尝试访问管理网站时带来麻烦,而如果你的管理网站处于自己的角色,它不会受到客户流量的影响

    在这两种情况下,您都会得到一个IP地址,一个*.cloudapp.net名称(并且您可以使用CNAME将自定义域名映射到它)

    暂存与生产:您的整个部署可以发布到暂存或生产(或两者,作为两个单独的发布)。登台不是为外部用户准备的——它实际上是为预部署区域准备的,您可以在该区域验证新部署是否按预期工作。然后,您可以在生产环境中与当前运行的系统执行虚拟IP交换,从而有效地交换暂存和生产部署。这样,您的软件几乎可以立即升级,而不会让客户停机


    请记住:部署中的每个角色必须保持在一起—您不能将一个角色部署到一个服务,而将另一个角色部署到另一个服务。如果您想这样做:将您的角色分离到单独的部署中。然后您可以将它们发布到不同的URL。

    实际上,您确实可以通过ip:port直接访问web角色。您不能直接访问角色实例,因为您在实例之间实现了负载平衡。因此,在多角色部署中,访问多个角色非常简单(这也适用于工作者角色和虚拟机角色)。就想要直接访问角色实例而言:一个用例适用于依赖“粘性会话”的遗留应用程序。对于今天这样的应用程序,您需要重构以从共享资源(如AppFabric缓存)访问状态。