performance - servidor - Cómo enviar lotes de millones de notificaciones push mediante el Servicio de notificación simple de Amazon(SNS)
sns amazon (1)
Al igual que muchas compañías, la que trabajo no se siente cómoda al usar APNS de Apple: no hay una biblioteca oficial, se transmite al azar, etc. Lo mismo ocurre con el sistema de inserción de Android: limitado a lotes pequeños, completamente diferente APNS de Apple ... Es por eso que estamos buscando una alternativa y cuando Amazon afirmó poder enviar millones de notificaciones push casi gratis, pensamos que SNS sería la solución perfecta.
El problema es que con frecuencia tenemos más de un millón de dispositivos que atender, y obviamente nuestras campañas de inserción rara vez apuntan a los mismos dispositivos. Hasta donde cavamos, ¡la única solución es utilizar la API de AWS que solo proporciona un método para crear los puntos finales de uno en uno! Ese es un gran problema para nosotros porque después de algunas pruebas, pensamos que para crear 1 000 000 puntos finales, tomaría aproximadamente 15 h (~ 17 llamadas / seg).
Incluso después de crear todos los puntos finales, para enviar todos los empujes a la vez, los puntos finales deben agregarse a un tema, y nuevamente, esto debe hacerse de un punto extremo a la vez (15 horas más). Evento si multihebra nuestras llamadas a, digamos, 30 hilos, ¡todavía tardaría una hora!
Entonces, ¿alguien podría decirnos si hay algo que no veamos? ¿Realmente Amazon está esperando que inundemos sus servicios web durante 30 horas para crear una campaña de un solo impulso? ¿Cómo pueden pretender enviar un millón de empujes en un segundo si demora horas en prepararlo? ¿Están trabajando en un API por lotes para SNS? ¿Es posible conectar una base de datos de Amazon que contiene los tokens para alimentar un tema SNS?
Parece que Amazon proporciona algunos métodos para agregar puntos finales / tokens, incluido un importador CSV (pero limitado a 2 MB de archivos CSV a la vez). También proporcionan una API y una aplicación java de muestra para tokens de carga masiva ( link ).
El punto de suscripción del tema es abordado por un empleado de Amazon SNS here , explicando esencialmente que no hay API por lotes disponible para este desafortunadamente.
Hay algunos otros proveedores de notificaciones push de terceros que pueden satisfacer mejor sus necesidades cuando se trata de crear con frecuencia segmentos / temas personalizados:
- OneSignal (Divulgación: dirijo esta compañía)
- MixPanel
- Analizar gramaticalmente