2013年8月7日星期三

Cloud_011:Windows Azure 介绍 (5)Messaging

5. Messaging
Windows Azure提供了两种方式用于信息传递:Queues和Service Bus。

5.1 Queues
最典型的使用Queues场景是:使用Cloud Services创建一个Web 应用,其中的Web Role通过Queue与Work Role通信。
比如你想开发一个视频共享的应用,使用PHP开发Web应用,运行在多个Web Role实例上,允许用户上传和观看视频;
使用C#开发后台视频格式转换程序,运行在多个Work Role实例上。
当用户上传一个新视频后,Web Role会向Queue中发一条消息,告诉Work Role从哪里得到该视频文件,然后在后台进行转换。
由于通信是异步的,Web Role和Work Role各干各的,互不影响。
同时,用户也可以非常简单地横向扩展应用,只要根据需要增加Web Role或Work Role的实例就好了。

5.2 Service Bus
如果想实现更复杂的通信,比如云中的应用彼此之间的通信以及云中应用和云外应用的通信,那么就要考虑使用Service Bus了。
Service Bus提供了Queue(One-to-One)和 Publish-and-Subscribe(One-to-Many)两种通信方式。
并且,云中的应用还可以通过Relay的方式穿过防火墙直接通信。
典型场景:航空公司订票系统。
订票服务运行在企业自建的数据中心中,暴露出一些公共的服务给各种各样的客户端:网站,机场自助终端,智能手机,机票代理公司。
使用Service Bus可以松耦合地实现这些应用之间的信息交互。

没有评论: