我们可以选择在单个部署中拥有2个或更多Web角色。但是,每个部署可以是暂存或生产,即通过扩展,我们只获得1个网址来访问该部署。
考虑到这种情况如何访问不同的webroles,这些的URL是什么。还有在单个部署中使用多个webrole的用途。
答案 0 :(得分:1)
为什么在单个部署中有多个Web角色?考虑具有面向公众(面向客户)的网站以及管理网站(可能在端口8000上)的应用程序。有两种基本方法可以解决这个问题:
选项#1更具成本效益,因为您只需要两个角色实例(SLA需要至少两个)。选项#2更适合独立扩展。例如:如果您的客户流量大幅增加,这可能会在您尝试访问管理网站时给您带来麻烦,而如果您的管理网站有自己的角色,则不会受到客户流量的影响。
在这两种情况下,您都会获得一个IP地址,一个* .cloudapp.net名称(您可以使用CNAME将自定义域名映射到它)。
分段与生产:您的整个部署可能会发布到分段或生产(或两者,作为两个单独的发布)。暂存不适用于外部用户 - 它实际上适用于预生活区域,您可以在其中验证新部署是否按预期工作。然后,您可以使用生产中当前运行的系统执行虚拟IP交换,从而有效地交换暂存和生产部署。这样可以在几乎没有客户停机的情况下立即升级您的软件。
请记住:部署中的每个角色必须保持在一起 - 您不能将一个角色部署到一个服务,而将另一个角色部署到另一个服务。 如果您要执行此操作:将您的角色分成单独的部署。然后,您可以将它们发布到不同的URL。
答案 1 :(得分:0)
在生产部署中,您的webrole可以通过URL访问,前缀您之前定义的前缀为myapp.cloudapp.net
;另一方面,可以通过自动生成的URL(例如205521014d8c440a83852b62e0df9db5.cloudapp.net
我担心没有办法直接访问Web角色实例,绕过AppFabric路由器。为什么你还需要这样做?
如果您需要从一个Web角色实例访问另一个Web角色实例,请考虑使用queue或distributed cache而不是直接通信。