Throttled Delivery of Messages
A notable drawback we identified with services similar to EZ Push, is the near-simultaneous delivery of all messages. While at first glance, instant delivery might appear beneficial as users receive your messages instantly, it subsequently triggers a high volume of user interactions. Whether users click on the notification directly or open the app upon receiving the message, the outcome remains the same.
Assuming your app interacts with your backend services upon startup, each opened app initiates requests to your server. In scenarios where hundreds of thousands or even several millions of users engage with your notification, it's imperative that your backend infrastructure is robust enough to handle such a surge in requests.
The throttled delivery feature in EZ Push alleviates this concern by pacing the delivery of push notifications. This approach not only ensures a balanced server load but also averts the possibility of self-induced Distributed Denial of Service (DDoS) attacks on your infrastructure.
How it Works
Implementing Throttled Delivery with EZ Push is a breeze. When crafting a campaign in the Cloud Console, you have the ability to specify the start and end datetime for your campaign. This setup ensures a consistent distribution of your messages throughout the designated time frame.
As you proceed with campaign creation, you are provided with an estimate of the device count your campaign will reach, aiding in assessing the potential impact on your infrastructure.
Device count: 1,337,000
Start: 2023-12-30 00:00:00
End: 2023-12-31 23:59:00
Campaign Runtime: 2,879 Minutes
Messages per Min.: ~464 messages/min
In the example above, your campaign takes 2,879 minutes (~2 days) to be fully delivered. Your infrastructure only needs to handle ~8 messages per second. Imagine the cumulative load of messages being delivered within just a few minutes. The throttled delivery feature significantly alleviates server stress, ensuring smooth operation.