微软Windows Azure云服务中,通知中心(Notification Hub)提供了能够支撑超百万级设备互联的利器。具体见下面的文章:
http://blogs.technet.com/b/nevin_dongs_blog/archive/2013/11/16/windows-azure-notification-hub.aspx
需要注意的是,目前在管理门户(Management Portal)中的”设置(Setting)“的”使用情况(Usage)“中,目前列出的是内核数、云服务数量、存储账户等情况,如下图:
注意到这里并没有包括了对通知中心使用情况的信息。
在使用通知中心的时候,一个需要特别关注的信息就是自己账户的账单,当然,这里列出的是当前期间和之前更早计费周期(按月)的使用量,可以看到每个月的消费情况。
具体消费信息格式如下:
通知中心可以根据工作量(workload)及前端设备量,来动态配置通知中心的资源量。例如,默认的”免费“容量设置,可以支持5,000个注册设备,其中可以支撑最多500个活动设备;而”标准”的通知中心层类型, “最大单位数”调整为到最大(目前是50),可以支持5,000,000个注册设备,其中可以支撑最多50,000,000个活动设备,达到百万级别以上的设备支撑目标。
而一个需要特别关注的,是通知中心的特别的定价(Pricing)级别。具体见下面的链接:
http://www.windowsazure.com/en-us/pricing/details/notification-hubs/
需要特别注意的是:”标准”类型是按照每单元来收费,每天按比例分摊。特别要注意:“在一天结束时(午夜 UTC),将会对您在这一天使用的最大单位数收费。At the end of the day (midnight UTC), you will be charged for the maximum number of units used during the day.“ 见下图:
这一定价模式,是用户在规划及调整伸缩性(Scalability)的时候,必须要考虑的,而与其他服务的按小时、按分钟等付费,有着明显的差别。
首先,尽可能收集、掌握活动设备的规模、高峰值,并依据这些信息来合理规划通知中心的配置。超规模配置可能将带来不必要的成本支出。
必要的时候,可以考虑“烫平”设备请求量,在实时性要求不高的时候,通过限制流量(Throttling)等措施,对于某些超量设备的消息提醒安排在稍后进行。此外在一天结束前(午夜 UTC),如果第二天没有预期的高峰值(例如,针对某些电商促销,当活动期将结束等),应及时调低通知中心的配置规模。
此外,应严格设置自动伸缩(AutoScaling)操作,必须兼顾伸缩性、并发性能及成本等多重因素,实现最优化。