我最近的任务是使用Symfony2为商业网络应用程序的移动应用程序实现推送通知系统。
我使用RMSPushNotificationsBundle(https://github.com/richsage/RMSPushNotificationsBundle)来创建和发送消息,并实现了一些事件监听器,以便将一些即时通知发送到客户列表。由于我们还需要预定通知,因此我创建了几个通过cron作业执行的symfony命令。这些命令背后的代码主要检查每30分钟一次的预定通知,如果要在当前时间间隔内发送任何通知,则会对其进行检查。
目前一切正常。我主要担心的是当前实现的可扩展性,因为用户群预计会增长很多。
对于预定的通知,还有更好的方法吗?我知道这是一个通用的问题,但我真的很感激任何形式的见解/建议。
干杯
答案 0 :(得分:1)
我认为这不是调度问题,而是缩放问题。使用GCM(Google Cloud Messaging),您可以同时推送到多个设备(最多1000个):https://developer.android.com/google/gcm/server.html#target
这将减少请求开销。 RMSPushNotificationsBundle也支持这一点:https://github.com/richsage/RMSPushNotificationsBundle/pull/44