如何避免iOS报亭应用收到远程通知导致的Web服务器流量高峰?

时间:2012-09-04 08:37:03

标签: ios performance apache http newsstand-kit

我正在开发iOS报亭应用。

如果它已暂停或未运行并连接到WLAN,可通过推送远程通知触发报亭应用,以在后台下载最新一期(在我们的情况下约为100MB)。

我正在使用Urban Airship来提供Push广播。

我现在担心许多iOS设备会同时或多或少地在Web服务器上进行一次大的下载,因为我希望大多数设备能够在很短的时间内收到通知。

我应该将个别通知发送到批量的小型设备组,而不是向所有设备广播,而是将它们分散到更长的时间段吗?

和/或像Amazon Cloudfront这样的CDN会更容易解决这个问题吗?

2 个答案:

答案 0 :(得分:3)

鉴于你的发展也不是免费的;鉴于这种交错的交付也带来了持续的组织和运营成本(以及向'新闻'客户解释这种情况的复杂性);我建议你认真考虑使用CDN进行实际交付。它解决了问题的所有复杂性 - 并消除了一个失败/风险点,并将其换成易于购买的那个。

这对所有参与者来说都是一场胜利。

DW传递。

答案 1 :(得分:1)

像往常一样,“这取决于” - 主要取决于您的网络托管情况。

如果您的带宽有限 - 例如100Mbps - 在您的主机设置中,您希望避免提供任何大型下载 - 即使单个用户下载大型文件也可能会使您的网络淹没数秒。

其次,营销人员喜欢想象用户会立即点击推送提醒,因为这是他们生命中最重要的事情 - 事实上,这种情况很少发生。为了从“交错”推送通知中获得任何好处,时间间隔可能需要以天为单位进行测量(这完全取决于您的内容,当然 - 关于小猫的每日新闻项目不太可能被推迟到每季度推迟一次关于税法的杂志)。我认为需要多次尝试才能确定合适的时间间隔 - 在此期间,您的用户将获得糟糕的体验。

因此,正如Dirk-Willem van Gulik所说,投资CDN是个好主意。每次下载都会花费你的钱 - 但原则上,CDN提供商拥有无限的带宽,升级你的套件以匹配这几乎肯定是不现实的。