我有一个多层ASP.NET应用程序,想在Azure云上移动它。
目前应用程序的工作流程如下:用户上传一个文件,文件被处理,用户得到实时的计算反馈。
在Azure的文档中,我读到,为此,为前端提供Azure网站,为业务逻辑提供云服务或VM将是一个很好的选择。
所以所有的计算都将在虚拟机中完成。用户上传的数据将在Blob存储中。虚拟机和Azure网站都可以访问它们,对吗?
对于实时反馈,虚拟机必须不断将数据发送回启动计算的Azure网站实例。这在某种程度上可能吗?我相信它可以通过网络服务来解决,但在蔚蓝的云端有更漂亮的方法吗?
感谢您的帮助
用户上传的数据将在Blob存储中。虚拟机Azure网站可以同时访问它们,对吗?
是的。存储在blob存储中的文件将可供Azure网站和VM访问。
对于实时反馈,虚拟机必须不断地将数据发送回启动计算的Azure网站实例。这是吗在某种程度上可能吗?我相信可以用web服务,但在蔚蓝的云端还有更漂亮的方式吗?
同样,这是可能的。处理这种通信的一种方法是利用Azure中可用的消息传递基础设施。您可以使用Azure Queues
或Azure Service Bus Queues
。它的工作方式是,处理文件的虚拟机将在队列中发布一条消息(关于其进度/完成/失败等)。网站将不断轮询该队列中的消息,并根据收到的消息采取必要的行动。
下面的链接有一个围绕Azure网站、存储(blob、表)和工作者角色构建的示例项目,它将适合您的需求,希望它能帮助您迁移应用程序!!
http://code.msdn.microsoft.com/Windows-Azure-Multi-Tier-eadceb36