部署多个web角色和工作者角色在单个的Azure云服务 [英] Deploying Multiple Web Roles and Worker Roles on a Single Azure Cloud Service

查看:137
本文介绍了部署多个web角色和工作者角色在单个的Azure云服务的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

这可能不是新的,但我希望有人可以把我在正确的轨道是湛蓝的部署过程中它的有点混乱。我在规划Azure上部署的过程。这是我所

This may not be new, but I hope some one can put me on right track as its bit confusing during azure deployment. I'm in the process of planning for deployment on Azure. This is what I have


  1. 面向公众的ASP.Net MVC应用程序(Web的角色)+ WCF服务(web的角色)是只能访问这个应用程序asp.net + WCF服务(工作者角色)再次访问1.在MESSAGE-队列

  2. 一个自定义STS即ASP.NET MVC应用程序(Web的角色)作为标识提供者(对于1.这是一个依赖方)+ WCF服务(web的角色)揭露一些STS的funcionality RP的,如1。

  3. SQL Azure的:由1和2的访问
    注:1,最终将成长为前来门户网站,对网络和辅助角色托管内部和外部访问多个WCF服务

我的问题是,如果1将被应用向公众公开,和2对1进行联合安全(内部),我应该怎么规划我在Azure上保持部署记1.将需要规模退房手续晚些时候与这两个WCF服务一起?难道我发布一个云服务或如何?
我的理解是,云服务是正网/辅助角色的逻辑容器。
但是,当宇有2个网页鞋底想在这个情况下,两个asp.net应用程序,其中之一将成为默认的?

My question is if 1. is going to be the app exposed to public, and 2. is for 1. to Federate the security (internal), how should I plan my deployment on azure keeping in mind 1. will require scale-out sometime later along with the two wcf services? Do I publish to one cloud service or how?. My understanding is that A Cloud Service is a Logical Container for n-web/worker roles. But when yu have 2 web soles like in this case both asp.net apps, which one becomes the default one?

祝商祺
萨蒂什

Best Regards Satish

推荐答案

默认情况下在解决方案中的所有Web角色是公开的。您可以通过进入服务定义改变这一点,删除HTTP端点,如果你想;您还可以定义内部HTTP端点,将只提供给云服务,什么都不会暴露给负载平衡器。具有在同一个项目中所有Web角色的优势在于它很容易动态检查RoleEnvironment每个Web角色 - 换句话说,在一个解决方案中所有的角色是其他角色和他们的可用端口的感知。这也很容易部署一个包。

By default all web roles in the solution are public. You can change this by going into the service definition and remove HTTP endpoints, if you wish; you can also define internal HTTP endpoints that will only be available to cloud services, nothing will be exposed to the load balancer. The advantage to having all web roles in the same project is that it's easy to dynamically inspect the RoleEnvironment and each web role -- in other words, all roles in a solution are "aware" of other roles and their available ports. It's also easy to deploy one package.

所有角色共享相同的DNS名称(.cloudapp.net)(但是你可以使用主机头区分),但它们通常是由通过您.cloudapp.net服务的负载平衡器使用不同的端口暴露。你可以看到这个当服务在云中运行,也有指向每个具有指定端口的公开HTTP端点的角色门户网站的链接。一来就是80端口(通过外部HTTP端点定义)是默认的网站。

All roles share the same DNS name (.cloudapp.net) (however you could use host headers to differentiate), but they are typically exposed by using different ports via the load balancer on your .cloudapp.net service. You can see this when the service is running in the cloud, there are links in the portal that point to each role that has a public HTTP endpoint that specifies the port. The one that is port 80 (as defined by the external HTTP endpoint) is the "default" site.

您还可以创建多个云项目,并分别部署它们。在这种情况下,每一个将具有其自己的DNS名称,并且每个被单独管理。这是否是一件好事或不依赖于应用程序如何紧密耦合的是,如果你通常会被部署在整个解决方案,或者只是更新该解决方案中的个人角色。但是,没有任何成本或可扩展性差。

You could also create multiple cloud projects, and deploy them separately. In this case, each would have its own DNS name, and each is managed separately. Whether this is a good thing or not depends on how tightly coupled the applications are, and if you will typically be deploying the entire solution, or just updating individual roles within that solution. But there's no cost or scalability difference.

如果您打算只角色之一频繁调动,我赞成破出来。

If you are going to frequently redeploy only one of the roles, I'd favor breaking them out.

这篇关于部署多个web角色和工作者角色在单个的Azure云服务的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆