我所工作的公司正在寻求针对云开发一些应用程序。
我们对网络或云开发完全陌生,并希望了解以下内容:
当提供给消费者时,是向所有人提供的应用程序的相同实例,是每个请求一个还是创建多个角色并提供给消费者?
答案 0 :(得分:2)
当提供给消费者时,是否向所有人提供了相同的应用程序实例?
这取决于您要求Azure运行应用程序的实例数。如果您只部署到1个实例,那么它当然是响应所有请求的同一个实例。但是,如果部署到多个实例,请求将进行负载平衡,这意味着您无法保证来自同一用户的多个请求将由同一实例处理。
当您提出这个问题时,可能是因为您可能想要在运行该实例的计算机上存储本地数据。但是,这不是一个好主意。 Windows Azure可以随时拆除您的实例并在完全不同的计算机上启动您的应用程序。他们称之为“愈合”,因为它通常是因为Windows Azure试图提供帮助并避免任何可能意味着您的实例停机的潜在问题。但是如果您的机器出于某种原因锁定或发生其他不良事件,也会发生这种情况。此修复过程意味着任何不属于部署包的内容都将丢失。因此,例如,如果您要登录磁盘上的文件,如果Azure“修复”您的实例,则此日志将丢失。
每个请求是一个还是创建多个角色并提供给消费者?
我不完全确定你在这里的意思,所以我会猜测并冒险错误地解释你的问题。我猜你是在询问每个用户请求是否会有一个实例。不,只有您决定的实例数量。请记住,您必须为每个正在运行的实例付费,因此,运行的实例数量由您决定是否公平。
将应用程序打包并准备部署到Windows Azure后,您可以决定要运行的每个角色的实例数。您在部署包中设置此编号,以便在部署包时,Azure将自动启动请求的实例数。但是,您可以在部署和即时之后更改每个角色的运行实例数。这使您可以在几分钟内扩展更多实例。
我希望这会有所帮助,并且我理解你的问题。 : - )
答案 1 :(得分:0)
Azure云服务中的Azure Web和辅助角色部署在至少一个实例(托管VM)上。 Azure允许您调整大小(内存,CPU)和扩展(实例数)。 Azure实际上允许您动态扩展,即按需添加更多实例。你按小时支付的尺寸&部署的实例数。
例如,云服务可以具有工作者角色的单个实例(后台处理)和Web角色的多个实例。在负载均衡器后面处理多个实例,客户端不知道他们正在使用什么实例(所有实例都是相同的)。
答案 2 :(得分:0)
Azure角色实例是具有某些特定负载的VM。
例如,在您的服务中,您声明需要三个“前端”Web角色实例和两个“后端”工作者角色实例。当Azure部署您的服务时,它会启动五个虚拟机,其中三个将运行“前端”负载并启动IIS,其中两个将运行“后端”负载并且没有启动IIS。
现在,直到您要求Azure更改该配置,无论发出什么请求以及发生什么负载,它都会保持持久性。您有五个具有3 + 2配置的VM。要更改配置,您需要采取一些措施。
有两种方法可以更改配置。您可以使用管理门户或外部程序更改其中一个或两个角色中的“实例计数”。您还可以添加自动扩展代码,该代码将收集指标并生成管理API请求以更改“实例计数”。无论哪种方式,当“实例计数”上升时,Azure会启动更多具有相同负载的虚拟机,当它停止运行时,它会停止部分虚拟机。