В настоящее время я работаю над SaaS с поддержкой нескольких арендаторов, которые могут включать push-уведомления для своих пользовательских баз. Я думаю об использовании очереди сообщений для хранения всех толчков и отправки их с помощью отдельной службы. Эта новая служба должна будет читать из очереди и отправлять push-уведомления.
Теперь мой вопрос: нужно ли мне придумывать сложную стратегию отправки? Я знаю, что с GCM есть ограничение в 1000 устройств на запрос, так что это нужно учитывать. Я также не могу дождаться, когда прилетит x push, так как это может задержать отправку предыдущего push. Следующей моей мыслью было создать глобальный массив и заполнить его отправками из очереди. Затем цикл будет извлекать этот массив каждую, скажем, 1 секунду и отправлять push-уведомления. Таким образом, push-уведомления будут отправлены точно, и я не превысю лимит в 1000 устройств.
Итак... хотя это может сработать, я не уверен, что бесконечный цикл - лучший способ. Мне интересно, есть ли у GCM/FCM лимит запросов? В противном случае мне не нужно было бы объединять нажатия в первую очередь, и я мог бы отказаться от цикла. Я мог бы просто запускать запрос для каждого нажатия, которое извлекается из очереди.
Любое просветление по этой теме или улучшение моего прототипа алгоритма было бы здорово!