2011-05-19 191 views
2

我现在正在尝试开发我的服务器,它将处理发送通知到APN(然后到iphones)的一部分。实际上,它是在我的服务器上运行的一项专用服务。每隔15分钟,该服务会在我的MySQL数据库中查找要发送的通知。苹果推送通知服务 - 许多通知要发送

我已经处理了所有的证书部分,并且我正在尝试定义实现该部分的最佳策略。 我计划用:

  • 使用Java的APNS

我有一个关于这两个问题的时候触发一个Java服务器

  • Java服务器一个cron作业:

    • 待办事项你有关于我打算做什么的建议?
    • 每15分钟我会发送1 000个通知(1到1000个电话),是否有特殊的方式来处理这种超载?

    感谢您的帮助!

    Kheraud

  • 回答

    1

    我不知道你为什么要运行该作业每隔15分钟。那段时间对你的应用来说意义重大,还是它是一些任意数字?在我的答案的其余部分,我假设后者。

    您需要创建一个后台进程,以保持永久连接对APNS打开。这比从cron作业运行程序要好,因为反复设置SSL连接非常昂贵。 (虽然如果你真的想坚持15分钟的事情,我认为从cron作业运行并不是那么糟糕,只是不要打开和关闭每个通知你想发送的连接。)

    取而代之每15分钟发送1000个通知,每分钟发送100个通知。或者说,每秒发送一些通知。

    如果您有很多通知要发送,您可以为同一应用(但不超过15个)打开到APNS的多个连接。

    为了达到极高的效率,您可以在发送给APNS的每个数据包中捆绑多个通知(例如,使用Nagle的算法)。

    +0

    好的。我会遵循这些准则。感谢您的帮助! – iwalktheline 2011-05-24 13:13:37