1

在使用 Azure 一年之后,我仍然没有发现任何关于一个应用程序下的多个 webrole 的真实场景。

当我们当时创建托管服务时,我们需要选择区域以及应用程序的 URL,所以在我们的解决方案中,如果我们创建了多个项目(webroles/wrokerroles),那么这个 URL 映射到哪个 webrole/wrokerrole 应用程序?

作为最终用户,webrole 是一个应用程序,但在 Azure 中,我们可以在一个应用程序下托管多个 webrole 应用程序!

谁能解释一下这个 Azure 术语和它的目的,请给我一些我们需要这种类型术语的真实场景/示例?

提前致谢。

4

2 回答 2

3

当您的应用程序很复杂并且您需要以不同的方式扩展不同的事物时,多个角色很有用。

不同的 Web 角色可能会处理组成一个应用程序的两个不同站点,但以不同的模式扩展(例如一些 BusinessAppWebRole 和 AdministrationAppWebRole)。这两个应用程序都是一个“系统”的一部分,并且部署在一起,甚至可能共享一些 .DLL 或类似的文件,但 BusinessAppWebRole 可能需要在上午 9 点到晚上 9 点之间进行扩展,并且需要为用户提供超快的执行速度,而 AdinistrationAppWebRole可能正在做一些复杂的数学或报告,并且需要自己的规模模式,这不应该影响 BusinessApp

或者,您可以选择在一个 Web 角色上拥有一个网站,而在另一个 Web 角色上拥有一个 WCF 服务。再一次,两者都将是同一个“系统”的一部分并部署在一起,但具有不同的用途和扩展策略,需要将它们保留在不同的服务器上

Worker Role 与 WebRole 也是一个很好的例子。Workeroles 通常是后台处理器。他们的目标是根据剩余的工作量进行扩展。面向客户的 WebRoles 需要有不同的扩展策略,并且不能受到通常繁重/忙碌的工作角色的影响......

高温高压

于 2012-07-19T05:38:35.323 回答
0

关于您在一个 Windows Azure 应用程序中具有“多个 webrole”的问题,我个人认为在单个应用程序中具有两个或多个 webrole 没有任何具体原因。在一个 web 角色中有两个 webrole 将导致一个角色使用端口 80 和其他一些端口(默认为 8080)用于其他角色。因为您将有一个 VIP 来处理两个 Web 角色,所以您不能在两个角色上都设置端口 80。在某些情况下,您可以将此类功能插入在端口 80 和 8080 上配置的单个 Web 角色中。我可以想到一个示例,即在一个应用程序中拥有两个或多个 Web 角色,其中用户希望从一个特定的 Web 角色为数百个用户提供服务它配置为具有多个实例的端口 80,但是在端口 8080(其他非 80)上配置的其他 Web 角色具有 1-2 个实例的管理站点。

Having web role and worker role in one Windows Azure application is very common scenario in which you can serve content through a web server configured over HTTP/HTTPS and have a worker role to do background processing without suffocating resources on web server. You can also configure internal endpoints by defining specific ports in Web and Worker role to communicate between Web role and worker roles internally over TCP endpoints. In this scenario you can have number of web role instances to handling web traffic and several instances of worker role for background processing separately. The best example for such scenario is like having a web site where users upload video content from a web server and once the content is upload, worker role star encoding the video and when the video is encoded the video is available on web server for users to enjoy. In real world scenario if you have 1,000,0000 users using such website, you might end up having 100s of instances of web and worker role to facilitate overall activity.

于 2012-07-19T05:54:15.473 回答