Как грамотно организовать рассылки push нотификаций?
Есть задача: проектирования сервиса рассылки сообщений по подписке на канал рассылки.
Суть заключается в доставке сообщений более 10к клиентов c частой периодичностью.
Есть некая точка входа - публичный API на который будет приходить текст сообщения и канал рассылки.
Всю логику по доставке сообщения (рабочий / worker) планируется вынести на Amazon Lambda.
Подумываю над использованием очереди сообщений. Но есть сомнения какой из вариантов будет правильным.
1. При получении текста рассылки на API сервере генерировать в очередь 10к сообщений.
- Очень сомневаюсь над этим вариантом.
2. Закинуть сообщение в базу с пометкой для последующей обработки и отдельным воркером ходить по этим сообщениям и генерировать очередь из 10к получателей.
Очень важным критерием, являться масштабируемость всего этого чуда.
Буду рад любой информаци, статьи, доклады, книги...
PUSH-нотификаций в GSM ( за исключением WAP PUSH ) вроде бы нет, но не думаю, что они вам нужны.
Что касается SMS/USSD сообщений, есть несколько вариантов.
1. Формировать очередь из SMS ( 1 номер - 1 текст )
2. Формировать список номеров + единый текст
и кидать его в сторону своего шлюза ( например на базе kannel ) или в сторону api провайдера ( ну например now
sms ).
Если речь идет всё-таки о push-уведомлениях ( ios/android ) то без установленного приложения с ними не поработать.
При наличие апликухи на трубе курите Google Fire Base.
Андрей Менский, ну я всегда использую свой шлюз на базе kannel + список номеров и один текст.
Минусы для тех, кто впервые сталкивается с SMPP и kannel
1. Надо иметь smpp-линки до smsc ОпСоСов
2. Надо уметь в kannel, его настройку и роутинг сообщений.
3. Иногда надо уметь в C++ ( на моей памяти только с Теле2 такое было - пришлось патчить PDU ).
Плюсы - нет лишних затрат на посредников, полный контроль над всей системой.
Во втором варианте из минусов - дороговизна
Из плюсов - не требуется настройки и поддержки, не требуется договариваться с ОпСоСами.