今天,我们来看看Azure Cloud Application和传统的 local applicaiton在运行方式上的不同。这里,我们特指使用.NET实现的applicaiton。
1). 传统 .NET application
学过操作系统,我们知道,进程是程序在操作系统中的动态执行形式,是操作系统执行静态程序时,可分配的最小单元。而线程则是进程的一次执行过程。
.NET 出现之前,程序的生命周期因进程的创建而开始,以进程的结束而消亡。
随着.NET 的出现,App Domain开始被广大技术人员所熟知。我们大学的教程有相应更新吗????)
大多数情况下,开发人员不用再直接也进程打交道; 取而代之,我们可以操作这个相对轻量级的容器。
这其中的妙处很多,重要一点是,避免了可能的“连坐” 现象 。这个词,估计老外是理解不了的了。
2). Azure clound application
在Windows Azure中,App domain的概念被Vitual Machine (虚拟机)的概念所代替。
一个应用程序被分散在一个或多个VM 上执行。微软使用一种称之为Hypervisor 的技术来协调VMs 之间的工作了。
当前,CTP版本提供两种类型的 VM : Web 前节点(Web Role Instance) 跟 Worker 后节点(Worker Role Instance)。IDE目前也只提供创建者两种节点的模板。
Web 前节点,是用来直接响应来自外界的 HTTP/s请求,工作在IIS 7.0之上。
如果说,Web前节点主要从事外交工作,那么,Worker后节点则开展内政。
通常,它的执行者是来自同一应用程序的Web前节点,以Queue的形式。
就实现方式而言,前者可以使用ASP .NET, WCF/WEB SERVICE;后者则可以是任意可执行程序集。
最后有一点需要稍加注意的是,VMs可以使用Windows Azure提供的系统级API。
(责任编辑:尹聪颖)
评论 {{userinfo.comments}}
{{child.content}}
{{question.question}}
提交