微软云平台 Azure简介 (二)Windows Azure 计算

在Windows Azure平台上运行的程序一般称作Hosted Service。

Windows Azure平台上的Hosted Service包含很有角色(Role),现在提供两个角色Worker Role和Web Role。

 

Worker Role就是Windows Sevice类程序。Web Role可以称作Worker Role的一个特例,运行在IIS 7上。

 

Ff803364.548d3c4b-ec0a-413b-84ce-c5381ac7024e(en-us,PandP.10).png

 

Web Role接受Http或者Https链接,挺供Web服务。Web Role公开的端口称作公共端点(Public EndPoint)。

Azure云平台为所有公开端点提供网络层的自动负载平衡。

 

Web Role和Worker Role都可以打开向外的TCP链接,也可以打开端口接收外来的链接。

这个非常的重要。

 

除了公共端口,每个实例可以打开内部端口。可以用来实现在不同的实力或者Roles之间进行同步通信。

 

Web Role的程序可以基于ASP.NET,WCF,或者可以运行在IIS上的任何技术。

例如可以运行基于Fast CGI的PHP程序。

大多数Web Role程序是基于Request-Replay模式。

Web程序要考虑的一个很重要的问题是Session。标准的ASP.NET提供了一些机制来保存Session。

通常在Web Server运行实例的内存中保持Session状态的做法在Web Role程序中会有问题。

因为Azure为Web Role程序提供自动的负载平衡,不能保证每次请求被分配到同一个Web Role实例。

 

WebRole中可以使用Windows Azure存储(storage),SQL Azure, 客户端Cookie,或者隐藏的Form元素

来保存Session状态。

 

WebRole和Work Role合作模式

Web Role接受请求,把请求放入消息队列,并从存储或者blob,table取得处理结果

Work Role不断从消息队列取要处理的工作,处理结果放到存储或者blob,table中

 

Ff803364.0f064abb-b770-45a4-a6a8-ba251ea27cf8(en-us,PandP.10).png

 

此结构非常适合类似的抢票系统,例如日语等级考试报名,并发性特别强,10分钟内大概10W用户访问。

posted @ 2011-01-04 14:57  软件猎人  阅读(545)  评论(0编辑  收藏  举报