Windows Azure 通知中心作为Windows Azure 管理门户的一项增强功能,已在近期发布,它提供了一个通用API,能够向使用Windows8和iOS等设备平台构建的应用程序发送推通知。据Microsoft消息,他们不久便会添加对Android 和Windows Phone的支持。
\向通知中心注册时,可以为每个用户指定一定数目的标签,Microsoft通过这种方式优化了通知中心,从而在“一个单独的消息发送到通知中心时触发上百万的推送通知”。
\这些标签由应用程序特定的字符串组成,例如用户ID和股票代码,这样便不再需要存储并管理设备句柄,也不需要针对每个用户实现各种设备的通知路由信息。此外,局部路由机制允许你将通知消息路由并传递给用户,而不必构建自己的路由基础设施。Windows Azure通知中心可用于虚拟机中的服务器应用,这些虚拟机以基础设施即服务(Iaas)的方式提供,可以是包含云服务或网站的Windows 或Linux系统。
\Microsoft服务器和工具业务的公司副总裁Scott Guthrie说:“通知中心可以大幅简化推送通知逻辑并会使应用具有更好的伸缩性”。
\为了在Windows Azure管理门户中创建新的通知中心,你需要定位到应用服务(App Services) 目录,选择服务总线通知中心(Service Bus Notification Hub)这一项。一旦创建成功,你将会看到已注册、已推送、已传递以及那些无法送达收件人的设备的数目。
\通过单击管理门户配置(Configure)标签页,可以将Microsoft Windows 通知系统 和 Apple 推送通知服务 (APNS)注册到通知中心。注册成功后,你可以通过关联标签页开启自动过滤,这样便能将任意客户端应用或设备注册到通知中心。一旦完成了这个过程,你将可以使用最少的代码向你的用户广播消息。
\Claus Nielsen提出了下面的问题:
\\\真是好消息啊,Scott。但是Windows 7在推送通知和平滑串流(smooth streaming)这些领域将会有什么动作?
\
服务总线的项目经理Elio Damaggio评论说:
\\\关于Windows 7支持推送功能这个话题我想说,通知中心这个功能是为了将通知直接推送到操作系统,为了支持这种能力的平台而设计的。(例如像Windows 8、Windows Phone、Android和 iOS这样的移动平台) 你可以使用服务总线主题(Service Bus Topics)将消息推送到某个运行的应用(Windows 7 或其他)。正如你所指出的,服务总线主题在处理超过2000的订阅时必须要进行分片,或者使用SignalR (http://signalr.net/),后者已经被设计用于部署到使用服务总线的大规模配置中。
\
Tomasz Wisniewski想了解Windows Azure移动服务及其推送通知与Elio所评论的通知中心之间是什么关系。
\\\通知中心不会替代Windows Azure 移动服务中的推送功能,只是对它的一个补充。任何移动服务后端都可以快速地使用通知中心,添加大规模的广播能力和标签支持。
\
原文链接:Windows Azure Notification Hubs with Common API
\感谢孙镜涛对本文的审校。
\给InfoQ中文站投稿或者参与内容翻译工作,请邮件至editors@cn.infoq.com。也欢迎大家通过新浪微博(@InfoQ)或者腾讯微博(@InfoQ)关注我们,并与我们的编辑和其他读者朋友交流。