How to avoid web server traffic peak resulting from iOS Newsstand app receiving a remote notification?

StackOverflow https://stackoverflow.com/questions/12259696

I'm developing an iOS Newsstand app.

If it is suspended or not running and connected to a WLAN, Newsstand apps can be triggered by a Push remote notification to download the latest issue (in our case around 100MB) in the background.

I'm using Urban Airship for the delivery of the Push broadcast.

I'm now worrying about many many iOS devices hitting the web server for one big download more or less at the same time, because I expect the majority of the devices will receive the notification in a very short timeframe.

Instead of broadcasts to all devices, should I rather send individual notifications to batches of small groups of devices, spreading them out over a longer period of time?

And/or would a CDN like Amazon Cloudfront solve that issue easier/anyway?

有帮助吗?

解决方案

Given that your development is not free either; and given that such staggered deliveries also carry on-going organisational and operational cost (and the complexity of explaining this to a 'news' customer); I'd suggest you seriously look into using a CDN for the actual delivery. It takes all complexity out of the problem - and removes a point of failure/risk and trades it for one which is easily shopped around for.

That is a win win for all involved.

Dw.

其他提示

As usual, "it depends" - mostly on your web hosting situation.

If you have limited bandwidth - e.g. 100Mbps - in your hosting setup, you want to avoid serving ANY large downloads - even a single user downloading a large file could swamp your network for seconds.

Secondly, marketing people like to imagine that users will click on the push alert immediately, because this is the most important thing in their life - in fact, that's rarely the case. To get any kind of benefit from 'staggered" push notifications, the time interval would probably need to be measured in days (this totally depends on your content, of course - a daily news item on kittens is less likely to be postponed than a quarterly magazine on tax law). I think it would take several attempts to work out the right interval - during which time your users will have a poor experience.

So, as Dirk-Willem van Gulik says, it's a good idea to invest in a CDN. Each download will cost you money - but in principle, the CDN provider has unlimited bandwidth, and upgrading your kit to match that is almost certainly not realistic.

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top