Windows Azure介绍

1.Windows Azure提供了一种叫做role的概念。每个role就可以被认为是一段程序,只是这段程序可以同时在一台或者多台机体上运行。每个role可以有多个实例(instance),每个实例就对应一台虚拟机。对同一个role而言,它所有的实例执行的程序都是相同的。

当前我们提供了两种类型的role,分别是Web Role和Worker Role。通常Web Role被用于部属服务以及分发软件,Worker Role则被用于执行分布式计算。

 

2 work role

每个 Worker Role 都包含一个 WorkerRole 类,作为程序的入口点,类似于 Console 项目中的 Program 类。这个类必须继承自 RoleEntryPoint ,并且必须被命名为 WorkerRole。

WorkerRole.OnStart 方法可以被类比成 Console 程序中的 Main 方法,它会在一个R ole 启动时被调用,通常被用于做一些初始化工作。默认生成的代码为你初始化了诊断( Diagnostics )以及配置相关的代码。

WorkerRole.Run 方法会在一个 Worker Role 初始化完毕,开始运行时被调用。 一旦 Run方法被跳出,一个 Worker Role就会被终止(你可以重写 OnStop方法来做一些善后工作,这个方法并没有被自动生成)。

通常 Worker Role被用于批量处理任务,所以自动生成的代码的控制逻辑中包含了一个无限循环,每个循环用于处理单个任务,在处理之前当前线程会睡上 10秒。请注意你并不一定要跟着自动生成的控制逻辑走,你完全可以修改生成的代码,来撰写你自己的控制逻辑。例如,你也许会创建一个定时器,每隔一定时间来执行一个任务。

posted @ 2012-08-15 09:48  天边孤雁  阅读(192)  评论(0)    收藏  举报