Microsoft Azure Web角色

问题描述:

我已经在微软Azure Web角色中托管了我的网站。我的网站就像应用程序和服务。每次用户接近网站时,请求都会转到服务,完成与数据库相关的查询并返回到应用程序部分。由于它有两种方式,我已经将Web角色用于应用程序和服务。Microsoft Azure Web角色

  1. 如果用户数达到最大值,在Web角色创建一个实例,因为它涉及到与数据库相关的事情会发生什么,我的服务端。

  2. 每当创建实例时,数据库是否会随之创建?

  3. 在我的情况下,我希望看到每次创建实例时,都不应该创建重复的数据库。可能吗?如果可能的话,在那种情况下会发生死锁吗?

  4. 是否有可能在同一个web角色中托管应用程序和服务。如果是这样,我想看到只有数据库应创建每个实例创建。

请提供一个清晰的解决方案。

假设应用程序和服务都在两个独立的云服务正在运行:

  1. 您的应用程序和服务的角色被配置为独立扩展。
  2. 假设您正在使用Azure SQL数据库,它也将独立于云服务进行扩展。
  3. 不会创建重复的数据库 - Azure SQL数据库将再次独立于云服务进行扩展。
  4. 如果您的应用程序,比方说,ASP.NET MVC应用程序,你的服务是的WebAPI,他们可能都在同一云服务上托管的(他们会在同一个Web应用程序)

您的服务应用程序在缩放的场景中的行为将取决于它如何实现。

我认为您对Azure的缩放比例有误解。

在这里获得一些额外的细节:How to Scale a Cloud Service

顺便说一句,你可能要考虑Azure的Web应用程序,而不是云服务的。虽然他们对云服务提供的控制较少,但除非您正在做一些特定的Azure Web应用程序无法提供的服务,否则它们更容易处理。

+0

感谢您的回复。我通过为服务,应用程序和数据库创建单个虚拟机来托管我的网站。另外,由于应用程序和服务在同一个IIS中运行,因此如果应用程序关闭,服务也将受到影响,我的网站获得的浏览器比浏览器更多。计划如何,我要为数据库创建虚拟机,为应用程序和服务创建两个Web角色。 Azure SQL没有在这里使用。 – dinesh

+0

嗯 - 在问题中会有帮助的信息。与其将所有处理组件加载到单个虚拟机中,最好至少将数据库组件分离出来,否则将难以扩展系统。 –