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